一種基于TMS320F2812智能接口板設(shè)計(jì)與實(shí)現(xiàn)
隨著電子技術(shù)的發(fā)展,數(shù)字電路的集成度和性能有了非常大的提高,因此可以在單板上實(shí)現(xiàn)復(fù)雜的電路功能,本設(shè)計(jì)就是在TI公司高集成度的TMS320F2812處理器上設(shè)計(jì)外圍接口電路,實(shí)現(xiàn)多路高速ARINC429接口、高速RS422接口、高速RS232接口,由于該款DSP的卓越性能,該接口板具有強(qiáng)大的多路接口通訊實(shí)時(shí)處理能力,同時(shí)由于該接口板的通訊接口都是標(biāo)準(zhǔn)接口,物理結(jié)構(gòu)為PMC底板結(jié)構(gòu),具有一定的通用性。
系統(tǒng)設(shè)計(jì)
接口板采用TMS320F2812處理器,對(duì)串行數(shù)據(jù)的接收和發(fā)送采用智能控制方式,它通過(guò)一個(gè)512K(32K×16)雙端口存儲(chǔ)器(DPRAM)實(shí)現(xiàn)與主處理機(jī)之間的數(shù)據(jù)交互,雙端口存儲(chǔ)器與主處理機(jī)之間為PCI總線接口,物理連接方式為PMC標(biāo)準(zhǔn)插座。模塊功能框圖見(jiàn)圖1。限于篇幅,本文主要介紹局部總線端電路設(shè)計(jì),與主機(jī)接口端PCI設(shè)計(jì)另有文章介紹。
PCI總線是一種不依附于某個(gè)具體處理器的局部總線。從結(jié)構(gòu)上看,PCI是在CPU和原來(lái)的系統(tǒng)總線之間插入的一級(jí)總線,具體由一個(gè)橋接電路實(shí)現(xiàn)對(duì)這一層的管理,并實(shí)現(xiàn)上下之間的接口以協(xié)調(diào)數(shù)據(jù)的傳送。管理器提供了信號(hào)緩沖,使之能支持10種外設(shè),并能在高時(shí)鐘頻率下保持高性能。PCI總線也支持總線主控技術(shù),允許智能設(shè)備在需要時(shí)取得總線控制權(quán),以加速數(shù)據(jù)傳送。
圖1 接口板功能框圖
接口板主要由如下功能部分組成:
處理器電路、數(shù)據(jù)處理器TMS320F2812,主頻150MHz,集成128K字容量程序FLASH、18K字容量SARAM;
雙口RAM IDT70V27,容量為32K×16bit;
時(shí)鐘和復(fù)位電路MAX791;
10路全雙工RS422串行接口電路TL16C554;
2路全雙工RS232串行接口電路;
4收2發(fā)ARINC429接口DEI1016A、BD429A;
PCI總線接口電路PCI9054;
邏輯控制電路XC95288XL;
提供+5V轉(zhuǎn)+15V、-15V電路DCP020515DP,負(fù)載80mA。
處理器及存儲(chǔ)電路
處理器
處理器選用TI公司的16位TMS320F2812芯片,主頻可達(dá)到150MHz。主要特點(diǎn)如下:
150MIPS運(yùn)行速度;
集成128K字容量程序FLASH,18K字容量SARAM;
56路獨(dú)立的可編程多路復(fù)用I/O引腳;
鎖相環(huán)(PLL)模塊;
3個(gè)32位定時(shí)器
2個(gè)串行通信接口SCI;
1個(gè)串行外設(shè)接口SPI;
16路ADC(12bit);
2路eCAN接口;
3個(gè)可屏蔽中斷;
JTAG接口;
哈佛結(jié)構(gòu)。
本接口板在設(shè)計(jì)中用到TMS320F2812處理器的數(shù)據(jù)處理功能、存儲(chǔ)器功能、通用IO功能、串行通信功能和JTAG接口。16位地址線A15~A0,16位數(shù)據(jù)線D15~D0。
TMS320F2812處理器地址空間映像如圖2所示。該接口板地址分配如表1。
圖2 地址映象
存儲(chǔ)電路
存儲(chǔ)器(Memory)是計(jì)算機(jī)系統(tǒng)中的記憶設(shè)備,用來(lái)存放程序和數(shù)據(jù)。計(jì)算機(jī)中全部信息,包括輸入的原始數(shù)據(jù)、計(jì)算機(jī)程序、中間運(yùn)行結(jié)果和最終運(yùn)行結(jié)果都保存在存儲(chǔ)器中。它根據(jù)控制器指定的位置存入和取出信息。有了存儲(chǔ)器,計(jì)算機(jī)才有記憶功能,才能保證正常工作。按用途存儲(chǔ)器可分為主存儲(chǔ)器(內(nèi)存)和輔助存儲(chǔ)器(外存),也有分為外部存儲(chǔ)器和內(nèi)部存儲(chǔ)器的分類方法。外存通常是磁性介質(zhì)或光盤(pán)等,能長(zhǎng)期保存信息。內(nèi)存指主板上的存儲(chǔ)部件,用來(lái)存放當(dāng)前正在執(zhí)行的數(shù)據(jù)和程序,但僅用于暫時(shí)存放程序和數(shù)據(jù),關(guān)閉電源或斷電,數(shù)據(jù)會(huì)丟失。傳統(tǒng)的并行接口和串行接口設(shè)計(jì)無(wú)論在通信速率,還是在可靠性方面都不易滿足要求。
構(gòu)成存儲(chǔ)器的存儲(chǔ)介質(zhì),目前主要采用半導(dǎo)體器件和磁性材料。存儲(chǔ)器中最小的存儲(chǔ)單位就是一個(gè)雙穩(wěn)態(tài)半導(dǎo)體電路或一個(gè)CMOS晶體管或磁性材料的存儲(chǔ)元,它可存儲(chǔ)一個(gè)二進(jìn)制代碼。由若干個(gè)存儲(chǔ)元組成一個(gè)存儲(chǔ)單元,然后再由許多存儲(chǔ)單元組成一個(gè)存儲(chǔ)器。 一個(gè)存儲(chǔ)器包含許多存儲(chǔ)單元,每個(gè)存儲(chǔ)單元可存放一個(gè)字節(jié)(按字節(jié)編址)。每個(gè)存儲(chǔ)單元的位置都有一個(gè)編號(hào),即地址,一般用十六進(jìn)制表示。一個(gè)存儲(chǔ)器中所有存儲(chǔ)單元可存放數(shù)據(jù)的總和稱為它的存儲(chǔ)容量。
表1 地址分配表
雙端口RAM芯片有兩套完全獨(dú)立的數(shù)據(jù)線、地址線和讀寫(xiě)控制線,因而可使兩個(gè)處理器分時(shí)獨(dú)立訪問(wèn)其內(nèi)部RAM資源。由于兩個(gè)CPU同時(shí)訪問(wèn)時(shí)的仲裁邏輯電路全部集成在雙端口RAM內(nèi)部,因而需要實(shí)際設(shè)計(jì)的電路比較簡(jiǎn)單。同時(shí)通過(guò)“busy”引腳告知該CPU以使之根據(jù)需要對(duì)該單元重新訪問(wèn)或撤銷訪問(wèn)。雙端口RAM的優(yōu)點(diǎn)是通訊速度快、實(shí)時(shí)性強(qiáng)、接口比較簡(jiǎn)單、兩邊CPU都可主動(dòng)進(jìn)行數(shù)據(jù)傳輸;缺點(diǎn)是成本高,需要克服競(jìng)爭(zhēng)現(xiàn)象。
共享存儲(chǔ)器選用雙口內(nèi)存IDT7027,存儲(chǔ)容量為32K×16bit。共享存儲(chǔ)器具有兩組獨(dú)立的地址、控制、I/O引腳,允許從任一組引腳發(fā)出的信號(hào)對(duì)內(nèi)存中的任何位置進(jìn)行讀或?qū)懙漠惒皆L問(wèn)。雙口內(nèi)存IDT7027具有防止雙口競(jìng)爭(zhēng)的功能,該功能可以免去為避免雙口競(jìng)爭(zhēng)增加的硬件邏輯,通過(guò)使用芯片上的信號(hào)量可以獲得芯片的控制權(quán),只有獲權(quán)的一組引腳上的信號(hào)才能訪問(wèn)內(nèi)存,另外通過(guò)信號(hào)量的使用還可以將雙口內(nèi)存劃分為大小不同的區(qū)。
在此模塊設(shè)計(jì)中,雙口存儲(chǔ)器一邊由DSP處理器控制,另一邊由PCI總線進(jìn)行控制,而芯片本身自帶的BUSY通過(guò)邏輯設(shè)計(jì)接READY來(lái)實(shí)現(xiàn)雙口存儲(chǔ)器產(chǎn)生競(jìng)爭(zhēng)時(shí)的應(yīng)答。
雙口存儲(chǔ)器讀操作訪問(wèn)
雙口存儲(chǔ)器的讀操作時(shí)序如圖3所示,/CE為讀寫(xiě)數(shù)據(jù)操作的片選信號(hào),低電平有效;/OE為輸出控制信號(hào),由系統(tǒng)讀信號(hào)控制,低電平有效;/UB、/LB是高/低字節(jié)有效控制信號(hào),低電平有效,設(shè)計(jì)中將這兩信號(hào)下拉;R/*W信號(hào)在讀操作中保持高電平。
雙口存儲(chǔ)器寫(xiě)操作訪問(wèn)
雙口存儲(chǔ)器的寫(xiě)操作時(shí)序如圖4
所示,/CE為寫(xiě)數(shù)據(jù)操作的片選信號(hào),低電平有效;/UB、/LB是高/低字節(jié)有效控制信號(hào),低電平有效,設(shè)計(jì)中將這兩信號(hào)下拉;R/*W為輸入控制信號(hào),由系統(tǒng)寫(xiě)信號(hào)控制,低電平有效。
雙口存儲(chǔ)器BUSY信號(hào)使用及時(shí)序
A/B通道對(duì)雙口存儲(chǔ)器的某一個(gè)單元同時(shí)進(jìn)行訪問(wèn)時(shí)會(huì)出現(xiàn)競(jìng)爭(zhēng)冒險(xiǎn),要避免這種情況的出現(xiàn)必須對(duì)訪問(wèn)信號(hào)判斷優(yōu)先級(jí),IDT7025雙口存儲(chǔ)器通過(guò)自身硬件的BUSY信號(hào)引腳告知該CPU以使之根據(jù)需要對(duì)該單元重新訪問(wèn)或撤消訪問(wèn),BUSY信號(hào)低電平有效,R/W為讀寫(xiě)信號(hào)。
圖3 讀操作及時(shí)序
圖4 寫(xiě)操作及時(shí)序
圖5 讀寫(xiě)操作時(shí)序
時(shí)鐘和復(fù)位電路
時(shí)鐘電路
F2812處理器上有基于PLL的時(shí)鐘模塊,為器件及各種外設(shè)提供時(shí)鐘信號(hào)。鎖相環(huán)有4位倍頻設(shè)置位,可以為處理器提供各種頻率的時(shí)鐘。時(shí)鐘模塊提供兩種操作模式,如圖6所示。
內(nèi)部振蕩器:如果使用內(nèi)部振蕩器,則必須在X1/XCLKIN和X2引腳之間連接一個(gè)石英晶體,這種石英晶體薄片受到外加交變電場(chǎng)的作用時(shí)會(huì)產(chǎn)生機(jī)械振動(dòng),當(dāng)交變電場(chǎng)的頻率與田英晶體的固有頻率相同時(shí),振動(dòng)便變得很強(qiáng)烈,這就是晶體諧振特性的反應(yīng)。利用這種特性,就可以用石英諧振器取代LC(線圈和電容)諧振回路、濾波器等。由于石英諧振器具有體積小、重量輕、可靠性高、頻率穩(wěn)定度高等優(yōu)點(diǎn),被應(yīng)用于家用電器和通信設(shè)備中。石英諧振器因具有極高的頻率穩(wěn)定性,故主要用在要求頻率十分穩(wěn)定的振蕩電路中作諧振元件
外部時(shí)鐘:如果使用外部時(shí)鐘,可以把時(shí)鐘信號(hào)直接接到X1/XCLKIN引腳上,X2懸空。
外部XPLLDIS引腳用來(lái)選擇系統(tǒng)時(shí)鐘源。當(dāng)XPLLDIS為低電平時(shí),系統(tǒng)直接采用外部時(shí)鐘作為系統(tǒng)時(shí)鐘;當(dāng)XPLLDIS為高電平時(shí),外部時(shí)鐘經(jīng)過(guò)PLL倍頻后,為系統(tǒng)提供時(shí)鐘。系統(tǒng)通過(guò)鎖相環(huán)控制寄存器來(lái)選擇鎖相環(huán)的工作模式和倍頻系數(shù),如表2所示。
表2 鎖相環(huán)控制寄存器位定義
該接口板采用30M石英晶體提供時(shí)鐘,XPLLDIS引腳上拉使能PLL模塊,倍頻選擇最大的XCLKIN×5=150MHz。
復(fù)位電路
復(fù)位電路為確保微機(jī)系統(tǒng)中電路穩(wěn)定可靠工作,復(fù)位電路是必不可少的一部分,復(fù)位電路的第一功能是上電復(fù)位。一般微機(jī)電路正常工作需要供電電源為5V±5%,即4.75~5.25V。由于微機(jī)電路是時(shí)序數(shù)字電路,它需要穩(wěn)定的時(shí)鐘信號(hào),因此在電源上電時(shí),只有當(dāng)VCC超過(guò)4.75V低于5.25V以及晶體振蕩器穩(wěn)定工作時(shí),復(fù)位信號(hào)才被撤除,微機(jī)電路開(kāi)始正常工作。F2812的復(fù)位可由外部復(fù)位管腳引起。
F2812外部復(fù)位源采用MAX706芯片進(jìn)行復(fù)位,MAX706復(fù)位的產(chǎn)生條件有以下3種情況:
上電復(fù)位,當(dāng)Vcc>4.40V(典型值)時(shí)產(chǎn)生復(fù)位,并保持200ms復(fù)位有效;
掉電復(fù)位,當(dāng)Vcc4.40V(典型值)時(shí)產(chǎn)生復(fù)位,此時(shí)可防止對(duì)存儲(chǔ)器進(jìn)行錯(cuò)誤寫(xiě)入;
手動(dòng)復(fù)位,當(dāng)手動(dòng)復(fù)位信號(hào)有效,產(chǎn)生復(fù)位,用于調(diào)試。
MAX706的復(fù)位信號(hào)形成F2812的上電復(fù)位輸入,使系統(tǒng)所有資源復(fù)位。復(fù)位電路如圖7所示。
串行總線處理電路
通用串行總線(Universal Serial Bus, USB)是連接外部設(shè)備的一個(gè)串口總線標(biāo)準(zhǔn),補(bǔ)充標(biāo)準(zhǔn)(On-The-Go)使其能夠用于在便攜設(shè)備之間直接交換數(shù)據(jù)。本模塊串行數(shù)據(jù)的接收和發(fā)送都采用TL16C554協(xié)議芯片來(lái)完成,RS422和RS232總線傳輸通過(guò)不同的接口芯片完成電平轉(zhuǎn)換,其功能框圖如圖8所示。
圖6 DSP時(shí)鐘輸入電路
圖7 復(fù)位電路
圖8 串行數(shù)據(jù)功能實(shí)現(xiàn)電路
16C554通過(guò)對(duì)各個(gè)寄存器的編程完成串行數(shù)據(jù)的初始化及傳輸,在完成上電BIT后,主機(jī)可通過(guò)改變雙口存儲(chǔ)器的初始化參數(shù)來(lái)滿足自身對(duì)串行數(shù)據(jù)格式的約定,16C554各寄存器地址分配如表3,各個(gè)寄存器對(duì)應(yīng)的訪問(wèn)地址為該串行通道分配的基地址加上偏移地址,即:各寄存器訪問(wèn)地址=BASE+[A2A1A0]16。
表3 協(xié)議芯片寄存器地址分配
串行協(xié)議芯片通過(guò)有效的初始化才能實(shí)現(xiàn)串行數(shù)據(jù)的正確接收和發(fā)送,在進(jìn)行初始化的時(shí)候確保串行通道沒(méi)有接收和發(fā)送數(shù)據(jù)。其初始化流程如表4所示。
表4 串行協(xié)議芯片初始化
控制邏輯電路
控制邏輯電路負(fù)責(zé)整個(gè)DSP數(shù)據(jù)處理模塊上控制和狀態(tài)信號(hào)的產(chǎn)生,負(fù)責(zé)PCI總線時(shí)序控制和邏輯譯碼。該邏輯功能由CPLD可編程邏輯器件實(shí)現(xiàn),邏輯描述由VHDL語(yǔ)言完成。控制邏輯電路主要完成以下功能:
a. TMS320F2812總線時(shí)序支持電路;
b.系統(tǒng)總線接口時(shí)序支持電路;
c.地址譯碼;
d.地址轉(zhuǎn)換及地址三態(tài)控制;
e.實(shí)現(xiàn)對(duì)數(shù)據(jù)總線管理邏輯的控制;
f.系統(tǒng)總線復(fù)位。
結(jié)束語(yǔ)
根據(jù)以上原理,我們研制了該智能接口板,通用性強(qiáng),接口簡(jiǎn)單,可以滿足大多數(shù)應(yīng)用條件,經(jīng)使用證明設(shè)計(jì)合理,穩(wěn)定可靠,為以后對(duì)各種創(chuàng)新打下堅(jiān)實(shí)的基礎(chǔ)。
評(píng)論