當(dāng)前位置:首頁(yè) > 工業(yè)控制 > 工業(yè)控制技術(shù)文庫(kù)
[導(dǎo)讀] 1、引言 隨著智能儀器及控制系統(tǒng)對(duì)實(shí)時(shí)性信號(hào)處理的要求不斷提高和大規(guī)模集成電路技術(shù)的迅速發(fā)展。越來(lái)越迫切的要求有一種高性能的設(shè)計(jì)方案與之相適應(yīng),將DSP技術(shù)和ARM技術(shù)結(jié)合起來(lái)應(yīng)用于嵌入

1、引言

隨著智能儀器及控制系統(tǒng)對(duì)實(shí)時(shí)性信號(hào)處理的要求不斷提高和大規(guī)模集成電路技術(shù)的迅速發(fā)展。越來(lái)越迫切的要求有一種高性能的設(shè)計(jì)方案與之相適應(yīng),將DSP技術(shù)和ARM技術(shù)結(jié)合起來(lái)應(yīng)用于嵌入式系統(tǒng)中,將會(huì)充分發(fā)揮兩者優(yōu)勢(shì)以達(dá)到智能控制系統(tǒng)中對(duì)數(shù)據(jù)的實(shí)時(shí)性、高效性的通信要求。該嵌入式系統(tǒng)要求實(shí)時(shí)響應(yīng),具有嚴(yán)格的時(shí)序性。其工作環(huán)境可能非常惡劣,如高溫、低溫、潮濕等,所以系統(tǒng)還要求非常高的穩(wěn)定性。

2、嵌入式系統(tǒng)的總體設(shè)計(jì)

2.1、核心器件的主要功能

ARM和DSP分別選用Cirrus Logic公司的EP7312、TI公司的TMS320VC5402。充分利用ARM豐富的片上資源和DSP強(qiáng)大的信號(hào)處理功能,實(shí)現(xiàn)高效性、實(shí)時(shí)性的信號(hào)處理及網(wǎng)絡(luò)通信功能。

EP7312是專為高性能、超低功耗產(chǎn)品而設(shè)計(jì)的微處理器,采用ARM7TDMI處理器內(nèi)核,具有8kB高速緩沖存儲(chǔ)器,支持存儲(chǔ)器管理單元,片內(nèi)集成了液晶顯示器控制器,鍵盤(pán)掃描器,數(shù)字音頻接口,完全的JTAG等功能,廣泛地應(yīng)用于嵌入式領(lǐng)域。TMS320C54xDSP提供了McBSPs(多通道緩沖串口);6通道的DMA控制器;可以與外部處理器直接通信的8位增強(qiáng)HPI(主機(jī)接口)。選擇這樣的SOC(片上系統(tǒng))作為該系統(tǒng)的核心器件,使得其穩(wěn)定可靠并具有廣泛的擴(kuò)展功能。

2.2、系統(tǒng)總體設(shè)計(jì)及工作原理

系統(tǒng)總體設(shè)計(jì)框圖如圖1所示。本系統(tǒng)主要是實(shí)現(xiàn)信號(hào)的實(shí)時(shí)性處理及傳輸,滿足工業(yè)現(xiàn)場(chǎng)及各種測(cè)量儀器的高可靠性要求。ARM有豐富的片上資源,適合嵌入式系統(tǒng)的開(kāi)發(fā),在該嵌入式系統(tǒng)中,ARM主要負(fù)責(zé)操作系統(tǒng)的運(yùn)行、任務(wù)管理和協(xié)調(diào)以及DSP的控制任務(wù),完成數(shù)據(jù)的遠(yuǎn)程通信。擴(kuò)展了外部擴(kuò)展了多種外設(shè),如通用串口、LCD顯示屏,以太網(wǎng)接口。通過(guò)連接以太網(wǎng)控制器實(shí)現(xiàn)網(wǎng)絡(luò)化功能。在ARM中移植了Linux操作系統(tǒng)和實(shí)現(xiàn)了系統(tǒng)外部硬件接口的驅(qū)動(dòng)程序。由DSP執(zhí)行計(jì)算密集型操作,實(shí)現(xiàn)多種信號(hào)處理算法,然后將處理后的數(shù)字信號(hào)通過(guò)主機(jī)口接口(HPI)與ARM通信。再由ARM通過(guò)以太網(wǎng)控制器將數(shù)據(jù)傳輸?shù)骄W(wǎng)絡(luò),實(shí)現(xiàn)了遠(yuǎn)程控制與監(jiān)測(cè)。

圖1 系統(tǒng)總體硬件框圖

3、系統(tǒng)硬件具體設(shè)計(jì)方案

3.1、ARM與DSP的接口設(shè)計(jì)

EP7312和TMS320VC5402連接的接口電路如圖2所示。VC5402通過(guò)HPI與ARM進(jìn)行連接。ARM先向DSP寫(xiě)入控制字,設(shè)置工作模式,然后將訪問(wèn)地址寫(xiě)入地址寄存器(HPIA),再對(duì)數(shù)據(jù)存器(HPID)進(jìn)行讀寫(xiě),即可讀出和寫(xiě)入指定的存儲(chǔ)單元。主機(jī)由兩根地址線A2、A1可以尋址到HPI接口的所有控制寄存器、地址寄存器和數(shù)據(jù)寄存器;由HBIL、HCNTL1、HCNTL0區(qū)分16位數(shù)據(jù)的高、低字節(jié)。當(dāng)向HBIL=0的地址寫(xiě)入數(shù)據(jù)時(shí),表示是第一個(gè)字節(jié),向HBIL=1的地址寫(xiě)入數(shù)據(jù)表示第二個(gè)字節(jié)。尋址過(guò)程中HCS要為低電平。

圖2 EP7312與TMS320VC5402的連接

DSP的HPI接口片選信號(hào)使用EP7312擴(kuò)展片選信號(hào)nCS4,HPI各個(gè)特殊功能寄存器的映射地址如下:

#defineHPIC0*(volaTIleunsignedchar*)0x40000000

#defineHPIC1*(volaTIleunsignedchar*)0x40000001

#defineHPIA0*(volaTIleunsignedchar*)0x40000004

#defineHPIA1*(volaTIleunsignedchar*)0x40000005

#defineHPID0*(volatileunsignedchar*)0x40000006

#defineHPID1*(volatileunsignedchar*)0x40000007

設(shè)置好DSP的狀態(tài)后,DSP向ARM發(fā)送中斷,通知ARM已將數(shù)據(jù)準(zhǔn)備好,等待ARM發(fā)中斷,DSP在中斷中對(duì)接收的數(shù)據(jù)進(jìn)行處理。ARM在初始化后,等待DSP發(fā)送中斷通知ARM數(shù)據(jù)已經(jīng)準(zhǔn)備好。ARM在檢測(cè)到中斷后,先判斷中斷是否有效,再?gòu)腍PI口讀寫(xiě)數(shù)據(jù),在完成向HPI口發(fā)送數(shù)據(jù)后,向DSP發(fā)送中斷通知DSP接收數(shù)據(jù)。ARM通過(guò)控制端口信號(hào)模擬接口時(shí)序,來(lái)完成對(duì)HPI口寄存器的訪問(wèn)。由于DSP在BOOT過(guò)程中向ARM發(fā)送了中斷,所以ARM在初始化時(shí)要清除這個(gè)中斷,并且在數(shù)據(jù)交互之前要設(shè)置控制寄存器中的BOB位,指示高地址在前還是低地址在前。這一步在程序初始化時(shí)由ARM來(lái)完成。

3.2、ARM與以太網(wǎng)控制器之間的通信設(shè)計(jì)

系統(tǒng)平臺(tái)實(shí)現(xiàn)了以太網(wǎng)接口。提供了以太網(wǎng)芯片的驅(qū)動(dòng),支持網(wǎng)絡(luò)功能。以太網(wǎng)控制芯片的數(shù)據(jù)、地址和控制信號(hào)與EP7312的總線相連,如圖3所示。片選信號(hào)使用EP7312的擴(kuò)展片選信號(hào)nCS2。

圖3以太網(wǎng)接口原理圖

RTL8019默認(rèn)的I/O基地址是300H,用到的地址空間為300H~3FFH,因此使用到EP7312的低4位地址線,將RTL8019上的SA19~SA10和SA7~SA5接為地,SA9、SA8接為VCC。RTL8019AS使用的是16位數(shù)據(jù)總線方式,因此,將RTL8019上的IOCS16B引腳通過(guò)10K的上拉電阻接為VCC;通過(guò)IO模式讀寫(xiě)以太網(wǎng)控制器,所以SMEMRB和SMEMWB引腳通過(guò)上拉電阻接為VCC。

當(dāng)EP7312向網(wǎng)上發(fā)送數(shù)據(jù)時(shí),先將一幀數(shù)據(jù)通過(guò)遠(yuǎn)程DMA通道送到RTL8019AS中的發(fā)送緩存區(qū),然后發(fā)出傳送命令;當(dāng)RTL8019AS完成了上一幀的發(fā)送后,再開(kāi)始此幀的發(fā)送。RTL8019AS接收到的數(shù)據(jù)通過(guò)MAC比較、CRC校驗(yàn)后,由FIFO存到接收緩沖區(qū);收滿一幀后,以中斷的方式通知EP7312。FIFO邏輯對(duì)收發(fā)數(shù)據(jù)作16字節(jié)的緩沖,以減少對(duì)本地DMA請(qǐng)求的頻率。

以太網(wǎng)控制器有兩個(gè)指針寄存器來(lái)控制緩沖區(qū)的存儲(chǔ)過(guò)程,當(dāng)前頁(yè)面指針curr和邊界指針bnry。curr指向新接收到幀的起始頁(yè)面,即接收緩沖環(huán)的寫(xiě)頁(yè)面指針;bnry指向讀過(guò)的最后一個(gè)頁(yè)面,即接收緩沖環(huán)讀頁(yè)面指針。自定義指針next_page,表示存儲(chǔ)分組緩沖區(qū)的邊界,初始值為next_page=bnry,讀取一頁(yè)數(shù)據(jù)后由軟件執(zhí)行bnry加1,curr自動(dòng)加1。curr不等于bnry時(shí),表示有新的數(shù)據(jù)包在緩沖區(qū)中,讀取一包的前四個(gè)字節(jié),前四個(gè)字節(jié)并不是以太網(wǎng)數(shù)據(jù)包的內(nèi)容。分別表示數(shù)據(jù)包存放的頁(yè)地址和已接收的數(shù)據(jù)的字節(jié)數(shù)。如果curr=0,表示讀取出錯(cuò),返回null。如果bnry》0x7f,則bnry=0x4c。

4、嵌入式系統(tǒng)軟件設(shè)計(jì)

4.1、BootLoader的設(shè)計(jì)

該嵌入式系統(tǒng)引入了Linux操作系統(tǒng),可以給系統(tǒng)下的任務(wù)提供調(diào)度機(jī)制,簡(jiǎn)化任務(wù)中的需求操作,當(dāng)需求變化時(shí)只需要改變?nèi)蝿?wù)內(nèi)容,然后重新和操作系統(tǒng)發(fā)布即可。

本系統(tǒng)中EP7312采用的是外部啟動(dòng)方式,也就是從CS[0]片選的外部NORFLASH啟動(dòng),系統(tǒng)啟動(dòng)后,執(zhí)行啟動(dòng)代碼,即初始化CPU、內(nèi)存控制器以及片上設(shè)備,然后配置存儲(chǔ)映射。啟動(dòng)代碼隨后執(zhí)行一個(gè)引導(dǎo)裝載程序bootloader,將內(nèi)核從FLASH中解壓到SRAM中,然后跳轉(zhuǎn)到內(nèi)核的第一條指令處執(zhí)行,內(nèi)核運(yùn)行。

bootloader完成從硬件啟動(dòng)到操作系統(tǒng)啟動(dòng)的過(guò)渡,用于初始化硬件和啟動(dòng)操作系統(tǒng)。在內(nèi)核運(yùn)行之前需要bootloader作為系統(tǒng)驅(qū)動(dòng)程序完成加載內(nèi)核和一些輔助性的工作,然后跳轉(zhuǎn)到內(nèi)核代碼的起始地址并執(zhí)行。對(duì)于該系統(tǒng)來(lái)說(shuō)選擇EP7211所使用的bootloader—Shoehorn,然后做一些改動(dòng)。如調(diào)整系統(tǒng)各個(gè)寄存器的地址值;設(shè)定SDRAM控制器;調(diào)整UART1的波特率等。Shoehorn代碼分為host端和target端兩部分,一部分由eth.c、serial.c、shoehorn.c和util.c組成,由這些文件編譯生成host端的可執(zhí)行文件shoehorn;另一部分由ini.s和loader.c組成,編譯生成一個(gè)小于2KB的文件loader.bin,這個(gè)二進(jìn)制文件會(huì)被下載到target端的SRAM中用來(lái)引導(dǎo)系統(tǒng)的啟動(dòng)。通過(guò)一系列的主機(jī)與開(kāi)發(fā)板之間的握手通信、下載程序的方式使得代碼相對(duì)分散,減小開(kāi)發(fā)板上起始代碼的大小,以滿足目標(biāo)板上下載代碼的限制。

4.2、內(nèi)核的配置

該嵌入式系統(tǒng)選擇了較成熟穩(wěn)定的Linux-2.4.13版本內(nèi)核。為了避免修改內(nèi)核定制代碼

時(shí)造成代碼的不穩(wěn)定和失去代碼的靈活性,可以通過(guò)選擇合適的版本內(nèi)核,修改該配置文件,裁剪不必要的功能,再編譯出符合新配置的內(nèi)核,得到既滿足應(yīng)用功能要求同時(shí)體積又小的內(nèi)核,產(chǎn)生一個(gè)隱藏文件/usr/src/linux/.config。該文件記錄了對(duì)內(nèi)核具體功能模塊的選擇和配置。

內(nèi)核配置時(shí),大部分的選項(xiàng)都可以使用缺省值,只有小部分需要根據(jù)需求選擇,將與內(nèi)核關(guān)系比較近且經(jīng)常用到的功能代碼直接編譯進(jìn)內(nèi)核;將不經(jīng)常用到的代碼編譯為可加載模塊,有利于減小內(nèi)核的長(zhǎng)度,增加靈活性。

4.3、驅(qū)動(dòng)程序的設(shè)計(jì)

在Linux操作系統(tǒng)中驅(qū)動(dòng)程序是操作系統(tǒng)內(nèi)核與硬件設(shè)備直接的接口。驅(qū)動(dòng)程序屏蔽了硬件的細(xì)節(jié)。在應(yīng)用程序看來(lái)硬件設(shè)備只是一個(gè)設(shè)備文件,應(yīng)用程序可以像操作普通文件一樣對(duì)硬件設(shè)備進(jìn)行操作。

設(shè)備驅(qū)動(dòng)程序可以設(shè)計(jì)模塊化方式。不必編譯進(jìn)內(nèi)核,而是被分別編譯并鏈接成一組目標(biāo)文件,這些文件可以被載入正在運(yùn)行的內(nèi)核,或從正在運(yùn)行的內(nèi)核中卸載??梢詼p少內(nèi)核的長(zhǎng)度,具有很大的靈活性。

4.4DSP中信號(hào)處理算法的實(shí)現(xiàn)

多數(shù)傳感器對(duì)于溫度、濕度、電源的波動(dòng)等環(huán)境因素都存在著交叉靈敏度,產(chǎn)生較大的誤差,測(cè)量精度和穩(wěn)定性都受到一定的影響。在DSP中采用數(shù)據(jù)融合技術(shù)可以消除干擾,提高傳感器的測(cè)量精度。數(shù)據(jù)融合是通過(guò)組合,將傳感器數(shù)據(jù)之間進(jìn)行相關(guān),以從輸出元素獲得更多的信息。保證在環(huán)境干擾變化很大的情況下也可以有較高的測(cè)量精度和穩(wěn)定性。采用軟件方法對(duì)傳感器數(shù)據(jù)融合處理被證明是一種很好的方法。

該系統(tǒng)的網(wǎng)絡(luò)功能可以將多個(gè)功能相同或不同的嵌入式智能儀器連接在一起組成智能傳感器網(wǎng)絡(luò)。每個(gè)智能儀器節(jié)點(diǎn)都具有數(shù)據(jù)采集、數(shù)據(jù)處理和通信的功能。信息融合技術(shù)可以將來(lái)自多個(gè)傳感器的數(shù)據(jù)進(jìn)行多級(jí)別、多方面、多層次的處理,從而產(chǎn)生新的有意義的信息,而這種新信息是任何單一傳感器所無(wú)法獲得的準(zhǔn)確度更高的表征客觀環(huán)境的信息。這種技術(shù)在傳感器網(wǎng)絡(luò)中有著舉足輕重的作用。

5、結(jié)束語(yǔ)

該嵌入式智能儀器系統(tǒng)的設(shè)計(jì),為儀器儀表方便有效的接入以太網(wǎng)提供了很好的解決方案,實(shí)現(xiàn)了遠(yuǎn)程控制和實(shí)時(shí)性的數(shù)據(jù)傳輸。由于采用并發(fā)多任務(wù)技術(shù)處理該嵌入式系統(tǒng)復(fù)雜的外部事件,以及控制軟件系統(tǒng)的復(fù)雜性,保證了系統(tǒng)的實(shí)時(shí)性能。該嵌入式系統(tǒng)的軟硬件配置精簡(jiǎn),抗干擾能力符合環(huán)境要求;裝配結(jié)構(gòu)便于檢修。這種嵌入式智能儀器系統(tǒng)的實(shí)現(xiàn)使嵌入式設(shè)計(jì)在數(shù)據(jù)處理及檢測(cè)控制領(lǐng)域里得到了很好的應(yīng)用。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國(guó)汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開(kāi)發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來(lái)越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來(lái)越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開(kāi)幕式在貴陽(yáng)舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語(yǔ)權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營(yíng)業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國(guó)電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉