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