引言
隨著電子技術(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)插座。模塊功能框圖見圖1。限于篇幅,本文主要介紹局部總線端電路設(shè)計(jì),與主機(jī)接口端PCI設(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ǔ)電路
在實(shí)時(shí)系統(tǒng)中,串行數(shù)據(jù)的采集及交換是影響系統(tǒng)開銷的瓶頸之一,在這類系統(tǒng)中,數(shù)據(jù)交換要求的通訊速率往往很高。傳統(tǒng)的并行接口和串行接口設(shè)計(jì)無(wú)論在通信速率,還是在可靠性方面都不易滿足要求。而雙端口RAM則是一個(gè)較好的實(shí)現(xiàn)方案。它具有通訊速率高、接口設(shè)計(jì)簡(jiǎn)單等特點(diǎn),因而能在這類設(shè)計(jì)中得到廣泛的應(yīng)用。
表1 地址分配表
雙端口RAM芯片有兩套完全獨(dú)立的數(shù)據(jù)線、地址線和讀寫控制線,因而可使兩個(gè)處理器分時(shí)獨(dú)立訪問(wèn)其內(nèi)部RAM資源。由于兩個(gè)CPU同時(shí)訪問(wèn)時(shí)的仲裁邏輯電路全部集成在雙端口RAM內(nèi)部,因而需要實(shí)際設(shè)計(jì)的電路比較簡(jiǎn)單。雙端口RAM內(nèi)一般都有一個(gè)總線搶占優(yōu)先級(jí)比較器,只要雙CPU不同時(shí)訪問(wèn)同一存儲(chǔ)單元,那么較先送出地址的CPU將擁有該單元的本次訪問(wèn)優(yōu)先權(quán),而另一個(gè)CPU的地址與讀寫信號(hào)將被屏蔽掉,同時(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為讀寫數(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ǔ)器寫操作訪問(wèn)
雙口存儲(chǔ)器的寫操作時(shí)序如圖4
所示,/CE為寫數(shù)據(jù)操作的片選信號(hào),低電平有效;/UB、/LB是高/低字節(jié)有效控制信號(hào),低電平有效,設(shè)計(jì)中將這兩信號(hào)下拉;R/*W為輸入控制信號(hào),由系統(tǒng)寫信號(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),其操作時(shí)序如圖5所示,BUSY信號(hào)低電平有效,R/W為讀寫信號(hào)。
圖3 讀操作及時(shí)序
圖4 寫操作及時(shí)序
圖5 讀寫操作時(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è)石英晶體;
外部時(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ù)位電路會(huì)中斷F2812的執(zhí)行,復(fù)位板上資源,同時(shí)使處理器從0x3FF000地址開始執(zhí)行指令序列。F2812的復(fù)位可由外部復(fù)位管腳引起。
F2812外部復(fù)位源采用MAX706芯片進(jìn)行復(fù)位,MAX706復(fù)位的產(chǎn)生條件有以下3種情況:
a. 上電復(fù)位,當(dāng)Vcc>4.40V(典型值)時(shí)產(chǎn)生復(fù)位,并保持200ms復(fù)位有效;
b. 掉電復(fù)位,當(dāng)Vcc<4.40V(典型值)時(shí)產(chǎn)生復(fù)位,此時(shí)可防止對(duì)存儲(chǔ)器進(jìn)行錯(cuò)誤寫入;
c. 手動(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所示。
串行總線處理電路
本模塊串行數(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ù)的初始化及傳輸,在上電初始化時(shí),本模塊將串行數(shù)據(jù)初始化為數(shù)據(jù)位8位,停止位1位,無(wú)奇偶校驗(yàn)位,波特率為115.2KBPS,在完成上電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í)候確保串行通道沒有接收和發(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ǔ)言完成??刂七壿嬰娐分饕瓿梢韵鹿δ埽?br />
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)定可靠。