基于CPLD的X86系統(tǒng)硬件檢測卡設計
發(fā)布時間:2019-12-04 06:40
【摘要】:X86處理器價格高,一旦出現(xiàn)故障會導致電子產(chǎn)品出現(xiàn)各種異常且定位困難。提出一種基于CPLD的X86系統(tǒng)硬件檢測卡,當X86處理器出現(xiàn)故障時,將通往IO 80端口地址的上電自檢數(shù)據(jù)通過CPLD轉(zhuǎn)成串行數(shù)據(jù)輸出。該方法不需要PCI硬件插槽,節(jié)省PCB空間840 mm2,不需要外置硬件debug卡,降低硬件成本,提高X86系統(tǒng)故障定位效率,方案可實施性強,尤其在高密度電子產(chǎn)品上具有很強的推廣價值。
【圖文】:
ard_cs是檢測端口的片選信號,Base_region1_l是其他外設片選信號,檢測端口片選信號產(chǎn)生部分代碼如下:Assign80card_cs=(ADDR[15:0]==16’h80)?1’b1:1’b0;當CPU通過南橋的PCI總線對內(nèi)存空間進行讀寫時,當本地總線輸出的地址為0xF000_0080時,即對檢測端口進行訪問,硬件檢測卡模塊片選有效,在寫信號data_write_l的配合下,轉(zhuǎn)換裝置中的PCI總線將數(shù)據(jù)總線連接到檢測單元的數(shù)據(jù)輸入寄存器,再根據(jù)根據(jù)相應寄存器的配置參數(shù),實現(xiàn)數(shù)據(jù)的通信。3.2.2本地總線數(shù)據(jù)并串轉(zhuǎn)換模塊實現(xiàn)圖5本地總線數(shù)據(jù)轉(zhuǎn)換模塊圖8程序仿真波形TxData數(shù)據(jù)符合通用異步數(shù)據(jù)收發(fā)器UART(UniversalAsynchronousReceiverTransmitter)格式,異步通信不要求收發(fā)雙方使用共同時鐘,一幀信息由4部分組成:起始位、數(shù)據(jù)位、奇偶校驗位和停止位[7]。由于BIOS將硬件檢測信息發(fā)往80端口,,因此邏輯只要實現(xiàn)單工發(fā)送模塊,將檢測信息通過串口送往PC。(1)地址解碼模塊:該模塊包含兩部分功能:①寄存器讀寫,如發(fā)送數(shù)據(jù)保持寄存器0x80,本地總線要發(fā)送的數(shù)據(jù)直接送往0x80地址;線控制寄存器0x83[8],鑒于本設計只是實現(xiàn)硬件檢測功能,當硬件發(fā)生故障時,串口通常沒有初始化,不能配置寄存器,因此0x83寄存器默認值是0x03,即發(fā)送數(shù)據(jù)位長度為8,無奇偶校驗,停止位長度為1。②波特率發(fā)生,波特率默認9600bit/s,該模塊產(chǎn)生波特率16倍的時鐘clk_16x。(2)發(fā)送FIFO:由于PCI總線速率33MHz,UART速率較低,為了避免數(shù)據(jù)丟失,邏輯內(nèi)實現(xiàn)了一個存儲長度為32byte的發(fā)送FIFO(先進先出),將發(fā)送保持寄存器0x80的數(shù)據(jù)緩存到FIFO中。FIFO的接口圖如圖6所示。圖6發(fā)送fifo接口圖(3)發(fā)送模塊:在clk_16x時鐘控制下,將從發(fā)送FIFO讀出的并行數(shù)據(jù)轉(zhuǎn)換?
【圖文】:
ard_cs是檢測端口的片選信號,Base_region1_l是其他外設片選信號,檢測端口片選信號產(chǎn)生部分代碼如下:Assign80card_cs=(ADDR[15:0]==16’h80)?1’b1:1’b0;當CPU通過南橋的PCI總線對內(nèi)存空間進行讀寫時,當本地總線輸出的地址為0xF000_0080時,即對檢測端口進行訪問,硬件檢測卡模塊片選有效,在寫信號data_write_l的配合下,轉(zhuǎn)換裝置中的PCI總線將數(shù)據(jù)總線連接到檢測單元的數(shù)據(jù)輸入寄存器,再根據(jù)根據(jù)相應寄存器的配置參數(shù),實現(xiàn)數(shù)據(jù)的通信。3.2.2本地總線數(shù)據(jù)并串轉(zhuǎn)換模塊實現(xiàn)圖5本地總線數(shù)據(jù)轉(zhuǎn)換模塊圖8程序仿真波形TxData數(shù)據(jù)符合通用異步數(shù)據(jù)收發(fā)器UART(UniversalAsynchronousReceiverTransmitter)格式,異步通信不要求收發(fā)雙方使用共同時鐘,一幀信息由4部分組成:起始位、數(shù)據(jù)位、奇偶校驗位和停止位[7]。由于BIOS將硬件檢測信息發(fā)往80端口,,因此邏輯只要實現(xiàn)單工發(fā)送模塊,將檢測信息通過串口送往PC。(1)地址解碼模塊:該模塊包含兩部分功能:①寄存器讀寫,如發(fā)送數(shù)據(jù)保持寄存器0x80,本地總線要發(fā)送的數(shù)據(jù)直接送往0x80地址;線控制寄存器0x83[8],鑒于本設計只是實現(xiàn)硬件檢測功能,當硬件發(fā)生故障時,串口通常沒有初始化,不能配置寄存器,因此0x83寄存器默認值是0x03,即發(fā)送數(shù)據(jù)位長度為8,無奇偶校驗,停止位長度為1。②波特率發(fā)生,波特率默認9600bit/s,該模塊產(chǎn)生波特率16倍的時鐘clk_16x。(2)發(fā)送FIFO:由于PCI總線速率33MHz,UART速率較低,為了避免數(shù)據(jù)丟失,邏輯內(nèi)實現(xiàn)了一個存儲長度為32byte的發(fā)送FIFO(先進先出),將發(fā)送保持寄存器0x80的數(shù)據(jù)緩存到FIFO中。FIFO的接口圖如圖6所示。圖6發(fā)送fifo接口圖(3)發(fā)送模塊:在clk_16x時鐘控制下,將從發(fā)送FIFO讀出的并行數(shù)據(jù)轉(zhuǎn)換?
【參考文獻】
相關(guān)期刊論文 前2條
1 程鵬;劉維亞;鄭喜鳳;;基于FPGA的PCI總線接口設計[J];電子器件;2007年02期
2 張羽;胡玉貴;殷奎喜;李佶蓮;;基于FPGA的多串口擴展實現(xiàn)[J];電子器件;2009年01期
【共引文獻】
相關(guān)期刊論文 前10條
1 孫濤;張華春;;基于MIL-STD-1553B協(xié)議的遠程終端的FPGA實現(xiàn)[J];電子器件;2010年03期
2 符冰;;基于PXI的1553B總線接口卡設計[J];儀器儀表用戶;2012年02期
3 劉鵬鵬;王晶;尹小杰;隋峻;王葳;;基于DSP和FPGA的通用控制器設計[J];電子設計工程;2011年21期
4 譚立志;李二喜;張利民;吳桂清;;基于AT91SAM9261高速鐵路路基沉降嵌入式數(shù)據(jù)集中器設計[J];電子設計工程;2013年17期
5 封勇韜;花興艷;;微型GPS接收機的設計[J];電子設計工程;2014年05期
6 楊龍;劉清`
本文編號:2569515
本文鏈接:http://sikaile.net/kejilunwen/jisuanjikexuelunwen/2569515.html
最近更新
教材專著