基于ARM數(shù)控系統(tǒng)的PC/104總線設(shè)計(jì)
點(diǎn)擊:1683
A+ A-
所屬頻道:新聞中心
前言
目前的ARM處理器已經(jīng)適合應(yīng)用于數(shù)控系統(tǒng)。ARM處理器的成本低而且種類(lèi)多。主頻能夠滿(mǎn)足數(shù)控領(lǐng)域需求而且功耗比較低,無(wú)需使用風(fēng)扇,提高了系統(tǒng)的可靠性。帶有MMU的ARM處理器支持?jǐn)?shù)控軟件所需要的Linux操作系統(tǒng),能夠充分利用現(xiàn)有的數(shù)控軟件資源。隨著ARM處理器和FPGA的快速發(fā)展,給數(shù)控系統(tǒng)的設(shè)計(jì)提供了新的解決方案。ARM處理器用作系統(tǒng)的核心,可編程FPGA器件作為運(yùn)動(dòng)控制器。同時(shí) FPGA器件提供數(shù)控系統(tǒng)vo等其它輔助電路。
隨著PC/104成為工業(yè)控制領(lǐng)域的標(biāo)準(zhǔn),已經(jīng)被IEEE協(xié)會(huì)定義為IEEE-P996.1, PC/104總線提供的信號(hào)跟ISA總線一樣,但是前者的機(jī)械規(guī)格不僅易于擴(kuò)充而且更加堅(jiān)固,適合應(yīng)用于數(shù)控系統(tǒng)。但是這種總線結(jié)構(gòu)是在Intel的x86體系結(jié)構(gòu)上發(fā)展而來(lái),目前x86對(duì)PC/104的支持比較好,而ARM對(duì)PG/104的支持還不完全統(tǒng)一,主要由于ARM和x86在體系結(jié)構(gòu)、總線時(shí)序、電氣特性以及指令集等方面的差異。而且不同的數(shù)控系統(tǒng)所需要的總線信號(hào)也不完全一樣。本文將提出一種基于ARM處理器的數(shù)控系統(tǒng)上支持PC/104總線的方案。
1 系統(tǒng)總體設(shè)計(jì)
數(shù)控系統(tǒng)中的ARM處理器采用Cirrus Logi。的EP9315處理器,用EP9315的一個(gè)片選(nGCS3_PHBASE 0X30000000)作為PC104的地址范圍,用地址ADDR24來(lái)控制MEMORY和IO的方式的讀寫(xiě);用另一個(gè)片選(nGCSI PHBASEoxiooooo00)來(lái)查詢(xún)PC/104的中斷號(hào),當(dāng)Pcioa有中斷的時(shí)候,用一個(gè)中斷通知CPU,然后CPU通過(guò)nGCSI這個(gè)地址來(lái)讀中斷號(hào),判斷出11個(gè)PC/104中斷源中來(lái)自哪個(gè)中斷。由于EP9315和CPLD在制作工藝、電氣性能上與PC/104總線有比較大的差別,因此需要使用74LVTH 16245作為3.3-5V電氣轉(zhuǎn)換buffer用來(lái)調(diào)整電平模式。CPLD是基于乘積項(xiàng)的可編程邏輯器件,CPLD內(nèi)部采用固定長(zhǎng)度線連接各個(gè)邏輯塊,因此具有較大的時(shí)間可預(yù)測(cè)性,引腳到引腳的延遲幾乎是固定的,與邏輯設(shè)計(jì)無(wú)關(guān),因此適合作為PCJ104總線控制器。這里使用趕-to,的EPM7032用作PC/ 104總線控制器,用來(lái)完成EP9315讀寫(xiě)時(shí)序向PC/104總線讀寫(xiě)時(shí)序的轉(zhuǎn)換。EP9315的數(shù)據(jù)總線和地址總線連到電平轉(zhuǎn)換buffer,輸出到PCJ104總線上。因此PClioa總線設(shè)計(jì)的核心是保證EPM7032有正確的讀寫(xiě)時(shí)序。原理圖如圖1所示:
2 PC/ 104總線控制器的實(shí)現(xiàn)
PC/104總線介紹
PC/104采用模塊化設(shè)計(jì)方法,通過(guò)自堆疊總線,省去了對(duì)底板或板卡插槽的要求。通過(guò)將多數(shù)信號(hào)的總線驅(qū)動(dòng)電流減小至4mA,將元件數(shù)量和功耗降到最低。模塊的104個(gè)信號(hào)線分布在兩個(gè)總線連接器上,P1連接器有64個(gè)信號(hào)引腳,P2連接器有40個(gè)信號(hào)引腳。與ISA總線相比,PC/104總線將板卡的長(zhǎng)寬比降至3.775英寸比3.550英寸(即9bmrn比90mm ),克服了ISA總線機(jī)械規(guī)格的缺點(diǎn)。PC/104總線與PC/AT總線兼容,也定義了兩種工作模式一8位和16位數(shù)據(jù)模式。對(duì)于8位數(shù)據(jù)模式,總線信號(hào)由板上的64引腳雙排插座Pl/J1提供,對(duì)于16位模式,增加了40引腳雙排插座P2JJ2。
ARM EP9315處理器介紹
EP9315處理器是Cirrus Logi。推出的一款基于ARM920T內(nèi)核的R1SC處理器,主要面向工業(yè)計(jì)算機(jī)和手持設(shè)備等等。ARM920T是H award體系結(jié)構(gòu)處理器,由ARM920TDMI、存儲(chǔ)管理單元(MMU)和高速緩存3部分組成。有獨(dú)立的16位指令cache和數(shù)據(jù)cache。ARM920T有5級(jí)流水線。EP9315工作頻率為200M Hz,集成了2D圖形加速器和協(xié)處理器,以及豐富的外設(shè)接口例如IDE控制器和PC MCIA控制器等,即使不使用額外的DSP芯片也能夠支持相當(dāng)多的外設(shè)。EP9315支持LinxuMicrosoft lindawg CE等操作系統(tǒng)。
PC/104總線控制器的設(shè)計(jì)
控制器的CPLD設(shè)計(jì)采用Altera公司的EPM7032,屬于MAX700()可編程器件系列。 MAX700()系列是高密度、高性能的CPLD,采用了Altera的第二代MAX架構(gòu),采用浮柵EEPROM設(shè)計(jì)。結(jié)構(gòu)如圖2所示:
結(jié)構(gòu)中包括邏輯陣列模塊(LA B)組成的陣列、可編程互連陣列(PIA)和可編程uo模塊陣列。每個(gè)LAB包括36個(gè)輸入端、16個(gè)輸出端和16個(gè)宏單元,每個(gè)宏單元包括處理組合和時(shí)序運(yùn)算的組合邏輯和觸發(fā)器。PIA作為全局總線提供了多重LAB、專(zhuān)用輸入端和vo引腳之間的連接。PIA為邏輯單元的輸出和LAB的輸入提供了包括預(yù)計(jì)定時(shí)的完整連接。器件可以工作在3.3Y,pin-to-pin的延遲tPD=6ns,工作頻率可達(dá)151.5MHz,能夠與EP9315的AMBA總線時(shí)鐘頻率相匹配。EPM7032支持多種設(shè)計(jì)輸人,除原理圖外還可以通過(guò)VHDL, VerilogHDL和Altera Hardware Description language (AHDL)。VerilogHDL語(yǔ)言是一種硬件描述語(yǔ)言,能形式化地抽象描述電路的結(jié)構(gòu)和行為,支持邏輯設(shè)計(jì)中層次與領(lǐng)域的描述,具有電路仿真與驗(yàn)證機(jī)制以保證設(shè)計(jì)的正確性,用于算法級(jí)、門(mén)級(jí)和開(kāi)關(guān)級(jí)的建模。開(kāi)發(fā)環(huán)境使用Alters的MAX+Pluso
總線控制器的實(shí)現(xiàn)與仿真
在PC/104總線內(nèi)部,用一個(gè)信號(hào)INTI查詢(xún)相關(guān)的中斷信號(hào),使用片選信號(hào)CS3和地址信號(hào)LADDR24和讀寫(xiě)信號(hào)wR.RD選擇MEM或者IO的讀寫(xiě)方式。
3 Linux下的PC/104總線驅(qū)動(dòng)程序的設(shè)計(jì)
在Linux中,由于有設(shè)備文件,所以才能使得用戶(hù)非常方便的訪問(wèn)外部設(shè)備,Linux系統(tǒng)為外部設(shè)備提供一種標(biāo)準(zhǔn)接口,將外部設(shè)備視為一種特殊文件,可以像訪問(wèn)文件一樣訪問(wèn)一個(gè)外部設(shè)備。Linux通常將設(shè)備分為二種基本類(lèi)型:字符設(shè)備、塊設(shè)備和網(wǎng)絡(luò)設(shè)備。在基于ARM處理器的數(shù)控系統(tǒng)中把PC/104總線看作塊設(shè)備。
4 結(jié)語(yǔ)
本文創(chuàng)新點(diǎn):提出一種基于ARM EP9315處理器的數(shù)控系統(tǒng)上支持PC/104總線的方案,主要描述了ARM數(shù)控系統(tǒng)中的PC/104總線控制器的設(shè)計(jì)與實(shí)現(xiàn),使用CPLD和Verilog HDL語(yǔ)言。實(shí)現(xiàn)了EP9315對(duì)PC/104總線讀寫(xiě)信號(hào)的控制和中斷處理。完成了Linux下的PC/104總線控制器的驅(qū)動(dòng)程序,提供了基于ARM處理器的數(shù)控系統(tǒng)的PC/104總線解決方法,彌補(bǔ)了ARM處理器對(duì)于PC/104總線的支持不足缺點(diǎn),使得ARM處理器能夠更廣泛的應(yīng)用于數(shù)控領(lǐng)域。
(審核編輯: 智匯胡妮)
分享