999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

一種基于CPCI 總線的羅經接口模塊設計方法

2013-07-30 04:06:42惠罡
電子測試 2013年7期
關鍵詞:信號

惠罡

(中國電子科技集團第二十研究所,陜西西安 710068)

0 引言

某船舶的信息保障系統需要將羅經設備提供的艦船姿態信息做采集和分發。該系統的中心計算機為基于CPCI 總線的人機接口計算機,需設計一基于CPCI 總線的高速接口模塊,將羅經設備提供的模擬軸角信號采集進計算機系統中。

1 設計概述

該羅經設備輸出的模擬軸角信號為粗精比36:1的雙通道信號,必須經旋轉變壓器-數字轉換器即RDC 轉換為數字信號才能被計算機讀取,故接口模塊共需使用三路(縱橫搖姿態和航向)雙通道RDC 轉換器。該接口模塊安裝于人機接口計算機的CPCI總線上,故模塊必須配置PCI 橋接芯片。另外總線接口的時序控制和雙通道羅經數據的合成工作還需要配置一片大規模的CPLD芯片。

2 硬件設計

本模塊硬件組成如圖所示。

本模塊的CPCI 總線接口芯片選用的是PLX 公司的PCI9054,該芯片是一種通用總線接口芯片,功能強大配置靈活,使用該芯片橋接CPCI 總線和本地總線,開發者可專注于開發硬件和驅動而不必考慮復雜的CPCI 總線規范。依據該芯片手冊推薦,選擇Microchip 公司型號為93AA56B的EEPROM 作為外部配置芯片,用于在系統上電時為PCI9054加載用戶配置數據。

PCI9054共有M、C、J 三種工作模式。其中M模式是摩托羅拉的MCU的專用工作模式;J模式仿照CPI 總線時序將地址和數據總線復用,控制較復雜。C模式是一種類似單片機的工作方式,芯片通過片內邏輯將地址線和數據線分開,本地時鐘與總線時鐘異步工作,為本地工作時序提供了多種工作方式,使用較為廣泛,故本設計將PCI9054配置成C模式,這一設置需通過芯片引腳硬連線來實現。本地時鐘使用32MHz的外部晶體振蕩器,直接通過印制板地層分割同時連接到CPLD的全局時鐘引腳和PCI9054的本地時鐘輸入引腳。

根據信號規模,CPLD 建議選擇Altera 公司EPM2210系列。PCI9054符合3.3V的CPCI 標準,可直接將其本地端的所有信號全部連接到CPLD 上,不用進行電平轉換。三路RDC 輸出的數字信號每路均為14Bit,外加每路2個控制信號,將它們全部連接到CPLD 以充分發揮CPLD 內部并行運算的優勢,可將縱搖、橫搖和航向三路信號同時進行轉換以提高效率。

模塊布線設計時,應保證PCI9054的位置靠近CPCI 總線插座。應特別注意的是,根據CPCI 總線規范要求,PCI9054的CPCI總線端各個信號走線長度不能相差過大,且CPCI 總線時鐘信號的走線長度必須限制在2400mil-2600mil 之間,可以使用蛇行線來控制長度。

3 軟件設計

本模塊軟件部分的主要設計工作包含三方面的內容,分別是CPLD的程序設計,PCI9054的EEPROM 配置數據設置,以及本模塊的CPCI 總線驅動程序設計。

3.1 CPLD 程序設計

CPLD 主要完成對PCI9054的本地總線時序進行譯碼和控制RDC 變換器數據的讀寫與合成。程序設計使用VerlogHDL 語言進行,開發環境為Altera的集成開發環境Quartus。

本模塊在CPCI 總線上作為被讀取的對象不主動發起總線讀寫周期,這一特性被稱為CPCI 總線的Target 操作。中心機每次從模塊讀取一個32Bit 數據的數據,頻率由中心機軟件使用定時中斷控制,且無大批量數據傳送的需求。依據9054數據手冊可知,這種操作特性對應的總線模式為PCI Single Target Read/Write,其時序關系如下圖所示。

由時序圖可知,CPLD 要進行的工作就是在CPCI 總線發起的讀寫操作后,對PCI9054產生的本地總線時序進行響應。其關鍵操作是當LHOLD(本地總線保持請求信號)變為有效后,要立即將LHODA(本地總線保持響應)拉高作為應答,然后再根據ADS#有效時的32Bit 本地地址和讀寫控制信號判斷讀寫的目標地址,并將對應寄存器的數據鎖存到32位本地數據總線上即可。

RDC 變換器控制信號需根據RDC的工作時序進行。根據數據手冊可知,RDC模塊通道轉換后,經過640ns 數據為有效,時序如圖所示。

為了在滿足時序限制的前提下盡可能提高RDC 變換器的轉換頻率,將本地32MHz時鐘進行分頻,產生A/B 通道選擇信號和輸出使能控制信號(OE/),使RDC 變換器交替輸出粗精通道的轉換結果。再分頻產生兩個周期約1.6us的鎖存信號,分別將兩個通道的數據鎖存到不同的寄存器中,再根據合成公式對這兩個寄存器中的數據進行計算,最后把計算結果鎖存到輸出寄存器當中。程序示意圖和仿真結果如圖所示:

CPLD 內部硬件資源豐富,設計時可根據合成公式,可以讓系統自己分配資源以達到最優配置,編寫程序時直接輸入計算公式即可。在CPCI 總線需要讀取轉換結果時,直接將已經準備好的數據放到本地總線上以供PCI9054使用,不需插入等待周期,以滿足CPCI 總線單周期讀寫的時序要求。如果等到CPCI 總線讀寫操作發起后再進行通道選擇和粗精合成等操作,就無法在一次PCI Target 單周期操作中將合成好的RDC 數據準備就緒。雙通道數據的合成運算由內部邏輯硬件完成速度較快,最后一級輸出寄存器的數據刷新率為微秒級別,而中心機對本模塊的讀取時間間隔為20毫秒,故可以滿足系統的使用要求,實現較簡單。注意在總線讀取時,應當禁止存儲計算結果的寄存器進行刷新。

對于本接口模塊中使用的粗精比為36:1,輸出數據為14位的RDC 轉換器來說,粗精合成公式為:

{(A*32+2000H-B)取整+B}

式中為A為粗通道值,B為精通道值;取整是指將低14位舍去,用精通道的14位值代替。合成結果位寬約20位,由計算機讀取后再根據需要換算成不同格式。

3.2 EEPROM 數據配置

EEPROM 數據配置的目的是指定PCI9054的工作方式和總線地址映射關系。這是本模塊作為CPCI 設備能被中心機系統識別并正常工作的前提。模塊工作時,由中心機發起總線周期對本模塊上的資源進行讀寫,這種數據傳輸方式稱為PCI9054的Direct Slave 方式,在該模式工作的PCI9054的可以將3種本地地址空間進行映射,分別是:本地地址空間0,本地地址空間1和擴展ROM 空間。每種本地地址空間都可以被映射到中心機的內存空間或者IO 空間。映射時需指定本地地址范圍(Local Address Range),本地地址基地址(Local Bass Address),以及PCI 基地址(Pci Base Address),映射示意圖如圖

由于本模塊可以讀取的寄存器較少且沒有擴展存儲器,故只需使本地地址空間0映射到計算機的存儲器空間或者IO 空間即可滿足使用要求,本地地址空間范圍按照要求使用推薦的最小值4K 即可。映射到內存空間還是IO 空間則沒有本質區別,只是計算機在訪問這兩種地址空間時使用的指令不同而已,一般來說,系統可用的IO 空間范圍要遠小于內存空間,故建議將本地地址空間0映射到內存空間。

EEPROM 數據配置的主要內容就是設置PCI9054的工作方式和地址映射關系,此外還需填寫各種廠家和設備標識以及子系統號,應注意將不使用的功能關閉,如中斷、DMA 和不使用的本地地址空間等。具體的寄存器配置數據格式和內容必須仔細對照9054數據手冊進行,用二進制編輯器軟件寫好后,用燒寫器將數據寫入EEPROM中,然后才能進行后面的工作。

3.3 驅動程序的設計

由于本模塊的中心機使用的是WindowsXP Embedded 操作系統,在應用程序中實現對羅經接口模塊的讀寫必須為其開發驅動程序。驅動程序開發是一項復雜的工程,通常WindowsXP Embedded 下的驅動開發有兩種途徑,一是使用微軟提供的DriverDevelopKit(DDK)進行開發,一是借助第三方工具開發。這兩種方式開發的驅動程序均為符合微軟WDM驅動模型框架要求的內核級驅動,具有較高的實時性能。但使用DDK 進行開發要求開發人員對操作系統有著比較深刻的認識,不適合一般工程技術人員。另一方案是使用第三方工具,目前應用較廣的DriverStudio(DS)是一款功能非常強大的第三方工具,他將DDK的功能封裝成類以方便用戶使用,使用方便。

使用DS的DriverWizard 工具,按照向導即可生成驅動程序框架,然后需根據功能需求添加用戶代碼,就可以生成所需要的驅動程序安裝文件了。

使用DriverWizard時首先應指定本模塊驅動類型為PCI 設備的WDM 功能驅動。后面的步驟需根據硬件的具體設計進行。本模塊在PCI9054配置時選擇的地址映射方式為將本地地址空間0映射到存儲器空間,所以在添加硬件資源的步驟中,必須為驅動添加一個memory 類型的硬件資源,并處理對這一資源的讀、寫請求(IRP),對應的I/O 方式均為直接(Direct)、不排隊的訪問方式,適用于快速傳送大批量數據。特別注意這里填寫的設備、廠家信息以及子系統號,必須與EEPROM 配置數據中所填寫的內容保持一致。

映射到內存的本地地址空間0作為一個硬件資源被包裝成一個類KMemoryRange,它封裝了對模塊的映射內存區域的操作。本模塊驅動只處理Read、Wrtie 兩種請求,接下來的工作就是為這些IRP 請求添加代碼,以完成驅動程序對模塊上CPLD 內部寄存器讀寫操作的具體代碼實現。

4 總結

本文描述了一種基于CPCI 總線的羅經接口模塊的硬件和軟件設計方法。著重描述了用CPLD 實現雙通道數據合成和C模式下PCI9054局部總線接口的一種實現方式,介紹了CPCI 總線的地址映射和設備的驅動程序開發基本流程。這種方法適用于傳輸數據規模較小的場合,實用性強,開發周期短。如要實現中斷和DMA 等高級功能,則需要對CPCI 局部總線的時序做進一步設計,同時在驅動程序增加相應機制的實現代碼。

[1]PCI 9054 Data Book Version 1.0 PLX Technology 1998

[2]Windows2000/XP WDM 設備驅動程序開發(第2版)武安河編著.電子工業出版社,2005

猜你喜歡
信號
信號
鴨綠江(2021年35期)2021-04-19 12:24:18
完形填空二則
7個信號,警惕寶寶要感冒
媽媽寶寶(2019年10期)2019-10-26 02:45:34
孩子停止長個的信號
《鐵道通信信號》訂閱單
基于FPGA的多功能信號發生器的設計
電子制作(2018年11期)2018-08-04 03:25:42
基于Arduino的聯鎖信號控制接口研究
《鐵道通信信號》訂閱單
基于LabVIEW的力加載信號采集與PID控制
Kisspeptin/GPR54信號通路促使性早熟形成的作用觀察
主站蜘蛛池模板: 性色在线视频精品| 九九热免费在线视频| 日韩精品一区二区深田咏美| 97视频精品全国在线观看| 91九色最新地址| 黑人巨大精品欧美一区二区区| 欧洲亚洲欧美国产日本高清| 国产美女在线观看| 在线日韩日本国产亚洲| 久久人人妻人人爽人人卡片av| 精品视频一区二区三区在线播 | 国产91特黄特色A级毛片| 午夜日本永久乱码免费播放片| 久久综合色88| 欧美丝袜高跟鞋一区二区| 国产一级精品毛片基地| 久久女人网| 免费毛片视频| 2024av在线无码中文最新| 中文字幕日韩丝袜一区| 久久久久久久97| 国产午夜小视频| 久久亚洲高清国产| 无码精品国产dvd在线观看9久 | 国产在线观看精品| 亚洲免费成人网| 99久视频| 日韩东京热无码人妻| 国产午夜福利在线小视频| 国产又大又粗又猛又爽的视频| 欧美视频在线第一页| 国产在线观看成人91| 99久久国产综合精品2020| 国产va在线观看免费| 黄色网站在线观看无码| 亚洲精品在线观看91| 欧美另类精品一区二区三区| 国产一区二区三区在线观看视频 | 亚洲欧美自拍中文| 成人午夜久久| 无码免费视频| 亚洲区视频在线观看| 精品无码视频在线观看| 日韩在线第三页| 亚洲国产中文在线二区三区免| 蜜芽一区二区国产精品| 亚洲成AV人手机在线观看网站| 国产无码精品在线播放 | 欧美天天干| 尤物精品视频一区二区三区| 国产91丝袜在线观看| 奇米精品一区二区三区在线观看| 综合亚洲网| a色毛片免费视频| 国产福利一区二区在线观看| 天天综合网在线| 在线观看av永久| 色综合久久无码网| 亚洲视频影院| 永久天堂网Av| 美女亚洲一区| 亚洲最新在线| 四虎在线高清无码| www欧美在线观看| 国产国模一区二区三区四区| 欧美亚洲另类在线观看| 国产成人午夜福利免费无码r| 91精品专区国产盗摄| 8090成人午夜精品| 色屁屁一区二区三区视频国产| av午夜福利一片免费看| 色网站在线视频| 特黄日韩免费一区二区三区| 99久久亚洲综合精品TS| 国产精品亚洲欧美日韩久久| 亚洲无码高清一区| 麻豆精品视频在线原创| 亚洲无码91视频| 五月婷婷丁香综合| 欧美成人手机在线视频| 美女扒开下面流白浆在线试听| 91精品网站|