基于EP7312的公用信息終端的設(shè)計
1 信息終端的總體設(shè)計
信息終端屬于公用電話領(lǐng)域,在功耗,接入方式,操作方便性等方面都有特殊要求,因此采用標(biāo)準(zhǔn)的嵌入式系統(tǒng)設(shè)計。
信息終端的處理器選用SoC嵌入式處理器 ARM7系列中的EP7312。處理器采用ARM7TDMI的處理器內(nèi)核,有8k字節(jié)高速緩沖存儲器(CACHE),支持MMU,帶64路TLB(translation look-aside buffer);寫緩沖器。超低功耗(典型值)74MHz工作狀態(tài)時為90mW, 18MHz工作狀態(tài)時為30mW,空閑狀態(tài)時為10mW(CPU時鐘停止,其余工作),掛起狀態(tài)時1 mW(實(shí)時時鐘工作,其余停止工作)。
操作系統(tǒng)采用NUCLEUS嵌入式操作系統(tǒng)。 NUCLEUS嵌入式操作系統(tǒng)提供源代碼,用戶能夠深入地了解底層內(nèi)核的運(yùn)作方式,并可根據(jù)自己的特殊要求改動系統(tǒng)軟件。它采用了先進(jìn)的微內(nèi)核(Micro-kernel)技術(shù),在優(yōu)先級安排,任務(wù)調(diào)度,任務(wù)切換等各個方面都有相當(dāng)大的優(yōu)勢,對防止優(yōu)先級倒轉(zhuǎn)等的方面都有一定的獨(dú)到之處。而且,能夠結(jié)合 Paradigm,SDS以及 ATI自己的多任務(wù)調(diào)試器組成功能強(qiáng)大的集成開發(fā)環(huán)境。另外 NUCLEUS除提供功能強(qiáng)大的內(nèi)核操作系統(tǒng)外,還提供種類豐富的功能模塊。
信息終端利用ISDN接入公用互聯(lián)網(wǎng),由于 ISDN交換機(jī)有遠(yuǎn)供的能力(可以提供1W的電力),接入終端不需要外接電源,接入方式簡單。這對于一種公用電話的替代產(chǎn)品來說是非常理想的。而且ISDN網(wǎng)性能穩(wěn)定,使用靈活,技術(shù)成熟。信息終端可以充分利用ISDN的兩個B通道可以給用戶提供一種公用互聯(lián)網(wǎng)接入方式,在這個平臺基礎(chǔ)上就可以開發(fā)出各種形式的增值服務(wù)。
2 信息終端的硬件設(shè)計
信息終端硬件的核心是終端主板,它負(fù)責(zé)管理鍵盤掃描、外圍狀態(tài)監(jiān)測等。LCD接口提供 320×240分辨率的顯示屏用以顯示數(shù)據(jù)、圖像,以及與用戶交互信息。另外,由于信息終端屬于公用電話系統(tǒng),還需包含讀卡器板、功能鍵盤板、門開及摘掛機(jī)檢測等功能模塊。
本系統(tǒng)充分利用ISDN交換機(jī)的供電能力,電源板從ISDN線路取電,經(jīng)變換后向主板提供+5V和+3.3V電源。自帶后備電池,保證在線路掉電時,能完成正在進(jìn)行的操作和保存記錄。主板的原理框圖如圖1所示。
主板由嵌入式處理器(EP7312)、FLASH (INTEL公司的28F320C3)、SDRAM(W986416DH)、ISDN參考模型中的U接口控制芯片(MC145576)、聲音編解碼芯片(MC145481)、ISDN數(shù)據(jù)鏈路控制芯片(HFC- S+)等芯片組成。
EP7312通過總線對FLASH、SDRAM、HFC-S+進(jìn)行控制。處理器通過對HFC-S+進(jìn)行控制,實(shí)現(xiàn)ISDN 通話及通信的功能。MC145576芯片主要完成ISDN參考模型中的S/T接口和U接口之間轉(zhuǎn)換。主板上集成8M的FLASH存貯空間,分為兩個部分,其中3M作為程序空間,剩下存放和MS- DOS4兼容的文件系統(tǒng)。HFC-S+支持B通道和D通道高級數(shù)據(jù)鏈路控制(HDLC),向外提供GCI總線、FIFO控制等。MC145481 CODEC芯片是一個PCM編解碼芯片,它實(shí)現(xiàn)聲音的數(shù)字化和重組。
在EP7312的鍵盤掃描各口線上都加上雙向過壓保護(hù)二極管BAV99及防短路的電阻,提高了防靜電能力及防短路能力。主板時鐘芯片采用PHILIPS的 PCF8563芯片以防止停振。
3 信息終端的軟件設(shè)計
本系統(tǒng)的軟件主要分為啟動代碼,芯片驅(qū)動程序設(shè)計,操作系統(tǒng)和ISDN協(xié)議棧的移植,應(yīng)用程序的設(shè)計等。系統(tǒng)軟件結(jié)構(gòu)如圖2。
3.1 啟動代碼的設(shè)計
啟動代碼在信息終端的設(shè)計中是很重要的一環(huán),它是EP7312處理器在冷啟動后首先執(zhí)行的一段代碼,用ARM匯編指令編寫。在這一段程序中要執(zhí)行一些必須的初始化任務(wù) ,例如中斷向量表的初始化、SDRAM控制器初始化、存儲器管理單元(MMU)初始化等等。
設(shè)置入口指針:啟動程序首先必須定義入口指針,而且整個應(yīng)用程序只有一個入口指針。
設(shè)置中斷向量表:ARM7要求中斷向量表必須設(shè)置在從0地址開始,連續(xù)8×4字節(jié)的空間,分別是復(fù)位、未定義指令錯誤、軟件中斷、預(yù)取指令錯誤、數(shù)據(jù)存取錯誤、IRQ、FIQ和一個保留的中斷向量。
初始化堆棧和CPU寄存器:系統(tǒng)堆棧初始化取決于用戶使用的中斷,以及系統(tǒng)需要處理的錯誤類型。還需要設(shè)置CPU相關(guān)的寄存器,以確定系統(tǒng)使用的SDRAM和其它外設(shè)芯片的刷新頻率,數(shù)據(jù)總線寬度等信息。
評論