陳相德,譚哲文,陳觀壽
(廣東順暢科技有限公司,廣東 江門 529000)
針對傳統(tǒng)無線數(shù)據(jù)終端,多采用單片機(jī)配合無線收發(fā)模塊的結(jié)構(gòu),不僅數(shù)據(jù)處理能力較為薄弱,同時(shí)通信能力及協(xié)議通用性也相對較差。數(shù)據(jù)處理終端是集數(shù)據(jù)采集、傳輸、存儲(chǔ)、顯示、控制為一體的綜合性處理技術(shù),其由以ARM為代表的嵌入式Linux平臺(tái)支撐,能夠使數(shù)據(jù)處理系統(tǒng)表現(xiàn)出較強(qiáng)的兼容性、穩(wěn)定性、實(shí)時(shí)性特性,且降低了通信系統(tǒng)的開發(fā)成本,能夠最大化滿足用戶的個(gè)性化數(shù)據(jù)處理需求。
ARM集成開發(fā)環(huán)境由ARM公司開發(fā),該公司是32位嵌入式RISC技術(shù)的領(lǐng)導(dǎo)者,其借助RISC架構(gòu)搭建ARM處理器,能夠使處理器呈現(xiàn)出體積小、成本低等優(yōu)勢,且大量使用寄存器,顯著提高了指令的執(zhí)行速度。同時(shí),系統(tǒng)支持Thumb或ARM指令集,能夠兼容C、C++、ARM匯編語言等多種編譯程序代碼,可在配合第三方工具及軟件支持的基礎(chǔ)上提高產(chǎn)品的競爭力,從而滿足嵌入式開發(fā)的具體需求。
對于硬件角度,嵌入式系統(tǒng)以嵌入式處理器作為系統(tǒng)設(shè)計(jì)基礎(chǔ),而根據(jù)嵌入式處理器的功能與用途,常見嵌入式處理器包括嵌入式微控制器、嵌入式微處理器、嵌入式數(shù)字信號(hào)處理器以及片上系統(tǒng)等,目前,多核心處理器是嵌入式處理器的主要發(fā)展趨勢,針對外圍硬件設(shè)備,其主要涉及各類傳感器、電子構(gòu)件和機(jī)械部件,依托GPIO接口、LCD接口或總線接口與嵌入式處理器進(jìn)行連接,從而達(dá)到對于數(shù)據(jù)的存儲(chǔ)管理與通信,滿足用戶的數(shù)據(jù)控制要求;另外,對于軟件角度,嵌入式系統(tǒng)的核心在于嵌入式操作系統(tǒng),其涉及多個(gè)硬件接口、應(yīng)用程序及文件系統(tǒng),能夠運(yùn)行于不同類型的微處理器上,具有較強(qiáng)的兼容性、移植性和通用性,同時(shí),在嵌入式操作系統(tǒng)支持下,可實(shí)現(xiàn)文件管理、任務(wù)管理、網(wǎng)絡(luò)控制等功能,且包含大量的應(yīng)用程序接口,能夠在支持應(yīng)用程序開發(fā)的基礎(chǔ)上給予用戶足夠的技術(shù)支撐[1]。
觸摸屏具有反應(yīng)速度快、便于交流等優(yōu)勢,能夠根據(jù)用戶的觸點(diǎn)接收觸摸信息,并將其轉(zhuǎn)換為觸點(diǎn)坐標(biāo),提供給CPU處理,從而實(shí)現(xiàn)人機(jī)交互,對此,以七寸LCD四線電阻式觸摸屏和LCD顯示屏為依托進(jìn)行本系統(tǒng)開發(fā);對于圖形用戶交互引擎,其相較于傳統(tǒng)CUI系統(tǒng)具有更強(qiáng)的穩(wěn)定性、可靠性和可移植性,能夠滿足嵌入式系統(tǒng)硬件資源有限的需求。
以SD卡作為硬件支撐,其具有價(jià)格便宜、存儲(chǔ)性能高、使用方便、開發(fā)設(shè)計(jì)簡單等優(yōu)勢。而在軟件層面,借助SQLite數(shù)據(jù)庫進(jìn)行數(shù)據(jù)存儲(chǔ)、檢索和管理,其利用C語言編寫,主要服務(wù)于嵌入式設(shè)備,具有ACID操作、API、符合SQL92標(biāo)準(zhǔn)、存儲(chǔ)性能好、存儲(chǔ)速度快、獨(dú)立性、兼容性等特性,是最為優(yōu)秀的嵌入式數(shù)據(jù)庫之一。
構(gòu)建基于GPRS的無線透明傳輸,其通過于GSM數(shù)字移動(dòng)通信網(wǎng)絡(luò)中引用分組交換功能實(shí)體,能夠?qū)崿F(xiàn)對于傳輸數(shù)據(jù)的分組管理,具有水資源利用有效、覆蓋面廣、接入時(shí)間短、傳輸速率高等優(yōu)勢。同時(shí),對于本系統(tǒng)開發(fā)過程,借助RS232接口就嵌入式硬件平臺(tái)與GPRS模塊進(jìn)行連接,依托AI命令管理GPRS模塊,從而實(shí)現(xiàn)數(shù)據(jù)在TCP/TP通道上的傳輸[2]。
采用Micro2440核心板作為本系統(tǒng)的系統(tǒng)板,涉及S3C2440 芯片、2MNOR Flash 存儲(chǔ)器單元、32 位64MSDRAM內(nèi)存單元以及12Mhz無源晶振,能夠提高內(nèi)核配置及相關(guān)驅(qū)動(dòng)的開發(fā)效率,縮短開發(fā)周期。同時(shí),核心板依托PA、PB、PC三組排針接口實(shí)現(xiàn)與底板的接口通信,而在監(jiān)控終端底板設(shè)計(jì)過程中,需就UART、USB、網(wǎng)卡等部分引腳與電路進(jìn)行對接,從而支撐核心板的正常運(yùn)行。
采用LM2576作為電源芯片進(jìn)行電源設(shè)計(jì),其作為一種3A電流輸出降壓開關(guān)型穩(wěn)壓集成芯片,具有完善的保護(hù)電路,能夠確保穩(wěn)壓電源的運(yùn)行穩(wěn)定性和高效性。需注意的是,電源電路中涉及對于電感電容的使用,其能夠有效確保電路穩(wěn)定,并規(guī)避電磁干擾問題[3]。同時(shí),本系統(tǒng)涉及兩種運(yùn)行電壓,即3.3v和1.8v,其均借助LM1117降壓芯片獲取,能夠滿足電源電路的運(yùn)行需求。本系統(tǒng)電源電路設(shè)計(jì)如圖1。
圖1 電源電路設(shè)計(jì)示意圖
采用UART通用異步接收/發(fā)送裝置實(shí)現(xiàn)串行數(shù)據(jù)傳輸。針對數(shù)據(jù)發(fā)送過程,由CPU就并行數(shù)據(jù)進(jìn)行處理,寫入U(xiǎn)ART,通過格式處理后于TxD線上串行發(fā)出;此外,針對數(shù)據(jù)接收過程,由UART監(jiān)測信號(hào),收集串行數(shù)據(jù),存儲(chǔ)至緩沖區(qū)內(nèi),通過CPU讀取UART采集并行數(shù)據(jù)。其中,UART使用標(biāo)準(zhǔn)TTL/COMS邏輯電平,且為提高數(shù)據(jù)采集穩(wěn)定性、提升數(shù)據(jù)傳輸效率,一般可將TTL/CMOS邏輯電平轉(zhuǎn)化為RS-232邏輯電平,即將3V至12V表示為0,–3V至–12V表示為1。
主要設(shè)計(jì)網(wǎng)卡芯片與S3C2440核心板、以太網(wǎng)水晶接頭RJ-45的連接問題,采用DM9000 10/100M以太網(wǎng)卡控制芯片作為網(wǎng)卡芯片,其借助數(shù)據(jù)線、地址線、控制線實(shí)現(xiàn)與S3C2440的通信連接。同時(shí),作為16位芯片,DM9000應(yīng)用16位數(shù)據(jù)總線LDATA實(shí)現(xiàn)數(shù)據(jù)控制,可在DM9000讀寫過程中,通常需使用AEN引腳、CMD引腳和25MHz的晶振。涉及對于隔離芯片的使用,其能夠連接以太網(wǎng)水晶接頭RJ-45和網(wǎng)卡芯片,具備波形修復(fù)、信號(hào)傳輸?shù)裙δ?,能夠保障系統(tǒng)的運(yùn)行安全性,控制系統(tǒng)的共模干擾問題,提升系統(tǒng)的數(shù)據(jù)傳輸性能[4]。
嵌入式設(shè)備的USB接口包含USB Slave和USB host兩種,前者將嵌入式設(shè)備作為USB從設(shè)備,后者將嵌入式設(shè)備作為USB主設(shè)備。其中,考慮到本設(shè)計(jì)的功能需求,需借助USB host接口實(shí)現(xiàn)接口設(shè)計(jì),其能夠支持U盤、USB鼠標(biāo)、USB攝像頭等USB設(shè)備的連接,有助于確保系統(tǒng)的兼容性。
SD卡接口電路包含數(shù)據(jù)線、時(shí)鐘線、命令/數(shù)據(jù)選擇線、片監(jiān)測引腳以及寫保護(hù)引腳,而由于Linux平臺(tái)自帶支持S3C2440芯片的SD卡驅(qū)動(dòng),使得只需要在初始化代碼中加入SD平臺(tái)設(shè)備結(jié)構(gòu)即可。
在LCD驅(qū)動(dòng)方面,其設(shè)計(jì)關(guān)鍵在于時(shí)鐘頻率的設(shè)置,而當(dāng)設(shè)置出現(xiàn)問題時(shí),一般會(huì)導(dǎo)致頻閃、色調(diào)失真或無顯示現(xiàn)象,因此,本設(shè)計(jì)采用33.3Mhz作為LCD頻率。考慮到電磁噪聲對于觸摸屏性能的影響,在觸摸屏設(shè)計(jì)完成后,對觸摸屏存在的不準(zhǔn)確、有抖動(dòng)問題進(jìn)行校準(zhǔn)。其中,通常采用Tslib程序?qū)崿F(xiàn)濾波、去抖、校準(zhǔn)等功能。
應(yīng)以電路原理圖為依據(jù),在充分考慮外部連接布局及內(nèi)部電子元件構(gòu)造的基礎(chǔ)上進(jìn)行印制電路板的版圖設(shè)計(jì)。同時(shí),在設(shè)計(jì)過程中,應(yīng)重點(diǎn)考量電磁保護(hù)、熱耗散、通孔布局等因素。
首先,對于基本開發(fā)環(huán)境,采用Ubuntu10.04LTS桌面版進(jìn)行嵌入式開發(fā),并配置Wubi安裝方式,能夠在不破壞Windows分區(qū)的前提下將Ubuntu操作系統(tǒng)安裝至Windows操作系統(tǒng)中,而由于Ubuntu操作系統(tǒng)缺乏專業(yè)的軟件開發(fā)工具,需在嵌入式軟件開發(fā)之前安裝語法、詞法分析器及函數(shù)庫等工具;其次,對于嵌入式軟件的開發(fā)模式,由于嵌入式硬件平臺(tái)資源相對有限,故不能直接在嵌入式平臺(tái)上開發(fā)嵌入式軟件,因此采用交叉開發(fā)模式對嵌入式軟件進(jìn)行開發(fā),即先在通用計(jì)算機(jī)上編寫程序再利用交叉編譯工具進(jìn)行交叉編譯,從而形成二進(jìn)制代碼格式,滿足嵌入式平臺(tái)的軟件運(yùn)行需求;最后, 在ARM嵌入式系統(tǒng)開發(fā)過程中,采用ARM調(diào)試器作為代碼調(diào)試工具,涉及集成開發(fā)環(huán)境、交叉編譯工具鏈、守護(hù)進(jìn)程和JTAG接口板。
Linux內(nèi)核移植具有較強(qiáng)的綜合性和復(fù)雜性,一般包括進(jìn)程管理、內(nèi)存管理、文件系統(tǒng)、設(shè)備控制、網(wǎng)絡(luò)接口等內(nèi)容。而在內(nèi)核修改中,考慮到本設(shè)計(jì)所用核心板Micro 2440的硬件電路與S3C2440芯片的硬件電路完全一致,因此只需要根據(jù)具體應(yīng)用調(diào)整平臺(tái)與SMDK 2440間的差距即可。
在ARM嵌入式Linux系統(tǒng)及相關(guān)應(yīng)用程序運(yùn)行過程中,根文件系統(tǒng)是最基礎(chǔ)的運(yùn)行環(huán)境,而在以往系統(tǒng)設(shè)計(jì)中,需采用不同版本的根文件系統(tǒng)以滿足系統(tǒng)設(shè)計(jì)要求,設(shè)計(jì)流程相對繁雜。對此,可借助Shell腳本簡化根文件系統(tǒng)設(shè)計(jì)過程。首先,對于根文件系統(tǒng)目錄結(jié)構(gòu)的搭建,為提高用戶文件搜索效率,按照FHS標(biāo)準(zhǔn)搭建根文件系統(tǒng)目錄結(jié)構(gòu),其不僅規(guī)定了文件系統(tǒng)中目錄、文件的分類儲(chǔ)存標(biāo)準(zhǔn),同時(shí)也定義了最小文件和目錄集合;其次,系統(tǒng)搭配不同的Busybox版本,能夠滿足不同根文件系統(tǒng)的設(shè)計(jì)需求,而在具體根文件系統(tǒng)搭建時(shí),Busybox的命令集合并非全部使用,而是可通過配置命令選擇功能以滿足具體的系統(tǒng)需求[5]。
通信系統(tǒng)由IEC61850協(xié)議支持,即所述IEC61850協(xié)議設(shè)備與所述通信電源監(jiān)控終端的以太網(wǎng)接口電性連接,從而構(gòu)成集通信電源、通信電源監(jiān)控終端為一體的通信體系,實(shí)現(xiàn)系統(tǒng)的數(shù)據(jù)通信功能。
綜上,提出一種基于ARM的嵌入式Linux數(shù)據(jù)處理監(jiān)控終端,通過總體設(shè)計(jì)、硬件設(shè)計(jì)、軟件設(shè)計(jì)和通信設(shè)計(jì),達(dá)成預(yù)期設(shè)計(jì)目標(biāo),能夠?yàn)橛脩籼峁┙换ナ降臄?shù)據(jù)支持,滿足用戶的個(gè)性化數(shù)據(jù)需求。