摘 要: 提出了采用異構多處理器體系結構構建嵌入式計算平臺的思想,并基于該思想采用Cortex M3主處理器和MSP430協(xié)處理器構建了異構多處理器體系結構的433 MHz有源RFID讀寫機具。實際驗證結果表明,采用異構多處理器構建的嵌入式計算平臺實現(xiàn)了計算密集型應用與控制密集型應用的有效分離,大大提高了系統(tǒng)的靈活性和資源分配的合理性。基于該體系結構重構傳統(tǒng)嵌入式計算平臺時對應用系統(tǒng)透明,使其具有廣泛的應用前景。
關鍵詞: 異構多處理器;嵌入式計算平臺;RFID讀寫機具;Cortex-M3;MSP430
嵌入式計算平臺是以應用為中心,以計算機技術為基礎,軟硬件可裁剪,適應應用系統(tǒng)對功能、可靠性、成本、體積和功耗有嚴格要求的專用計算機系統(tǒng)[1]。隨著應用需求的發(fā)展和嵌入式系統(tǒng)的不斷完善,業(yè)務應用對嵌入式計算平臺在性能、靈活性、功耗和成本等方面提出了更高的需求[2]。在桌面計算和商用服務器計算領域,參考文獻[3]指出了采用降低處理器主頻并增加處理器個數(shù)的方式,成為業(yè)界延續(xù)摩爾定律的主要手段。為了滿足業(yè)界對嵌入式計算平臺的更高要求,采用多處理器構建嵌入式系統(tǒng)成為業(yè)界的主要研究熱點[2]。多處理器的組織方式包括同構多處理器組織方式和異構多處理器組織方式。研究表明,在嵌入式計算平臺領域,將結構、功能、功耗和運算性能各不相同的多個處理器集成在計算平臺中,并通過任務分工和劃分將不同的任務分配給不同的核心,讓每個核心處理自己擅長的任務時,采用異構多處理器的組織方式比采用同構的多核處理器執(zhí)行任務更加高效,實現(xiàn)了資源的最佳配置,并且降低了嵌入式計算平臺的整體功耗[4]。
本文介紹了依據(jù)異構多處理器構建的嵌入式計算平臺的軟硬件體系結構,并對基于異構多處理器體系構建的433 MHz有源RFID讀寫機具進行了實驗驗證。
1 硬件體系結構
基于異構多處理器嵌入式計算平臺構建的433 MHz有源RFID讀寫機具硬件體系結構如圖1所示。該平臺采用意法半導體公司(ST)的32 bit ARM CortexTM-M3內(nèi)核處理器STM32F107作為主處理器,采用德州儀器半導體公司(TI)的16 bit MSP430微控制器CC430F5137作為協(xié)處理器。STM32F107主處理器與CC430F5137協(xié)處理器之間采用串口進行通信。
1.1 主處理器端硬件體系結構
本文構建的433 MHz有源RFID讀寫機具主處理器STM32F107端提供了3個與上位機通信的接口:USB接口、10/100M自適應以太網(wǎng)接口和UART串口,其中USB接口支持OTG通信模式。為了提高整個系統(tǒng)的安全性,系統(tǒng)還提供了7816 PSAM智能卡接口,該接口能夠與PSAM智能卡進行通信。為了保存從協(xié)處理器接收到的數(shù)據(jù),系統(tǒng)外置了Numonyx恒憶半導體公司的16 MB N25Q128 Nor Flash芯片。
1.2 協(xié)處理器端硬件體系結構
為使其協(xié)處理器CC430端能夠發(fā)射125 kHz的低頻載波,該讀寫機具外置了125 kHz的調(diào)制放大器。同時,系統(tǒng)還外置了Balun濾波器, 外接433 MHz的天線和433 MHz有源電子標簽進行射頻通信。
2 軟件體系結構
該讀寫機具軟件體系結構如圖2所示。其軟件系統(tǒng)主要包括主處理器端的軟件系統(tǒng)和協(xié)處理器端的軟件系統(tǒng)。主處理器端軟件系統(tǒng)主要包括各個外圍設備與接口的驅動模塊(如串口驅動模塊、網(wǎng)卡驅動模塊、USB接口驅動模塊、Flash驅動模塊、PSAM接口驅動模塊、SPI接口驅動模塊等)、?滋C/OS-II實時操作系統(tǒng)、基于?滋C/OS-II的TCP/IP協(xié)議棧和USB協(xié)議棧,以及基于網(wǎng)絡接口、USB接口和串口構建的讀寫機具與上位機之間的通信協(xié)議。協(xié)處理器端軟件系統(tǒng)主要包括相關外圍設備與接口的驅動模塊(如串口驅動模塊和RF1A射頻驅動模塊等)、系統(tǒng)依據(jù)硬件提供的PWM模塊所構建的125 kHz低頻喚醒通信協(xié)議, 以及基于RF1A射頻驅動模塊構建的433 MHz射頻通信協(xié)議,該通信協(xié)議遵守參考文獻[5]中提到的ISO/IEC 18000-7空中接口協(xié)議。本文設計和實現(xiàn)了主處理器端軟件系統(tǒng)與協(xié)處理器端軟件系統(tǒng)的串口通信協(xié)議。
2.1 主處理器端軟件設計
主處理器端軟件處理流程如圖3所示。系統(tǒng)上電啟動后直接從主處理器規(guī)定的地址開始執(zhí)行,首先進行中斷向量表和堆棧以及平臺相關寄存器的初始化;初始化完成后跳轉到?滋C/OS-II實時操作系統(tǒng)主函數(shù),依次初始化系統(tǒng)中的各個硬件設備(如串口、網(wǎng)卡、USB接口、Flash芯片、PSAM接口和SPI接口等);相關硬件設備驅動模塊初始化成功后,系統(tǒng)開始?滋C/OS-II操作系統(tǒng)本身的存儲管理子系統(tǒng)和進程管理子系統(tǒng)的初始化,然后初始化TCP/IP網(wǎng)絡協(xié)議棧和USB軟件協(xié)議棧;各種初始化工作完成后,系統(tǒng)依次創(chuàng)建網(wǎng)絡監(jiān)聽服務進程、上位機串口監(jiān)聽服務進程和協(xié)處理器串口監(jiān)聽服務進程,其中網(wǎng)絡監(jiān)聽服務進程和上位機串口監(jiān)聽服務進程分別用于從網(wǎng)口和串口監(jiān)聽上位機發(fā)送的命令并依據(jù)讀寫機具與上位機的通信協(xié)議對接收到的數(shù)據(jù)包進行處理,協(xié)處理器串口監(jiān)聽服務進程用于監(jiān)聽從協(xié)處理器發(fā)出的命令數(shù)據(jù)包并依據(jù)主處理器與協(xié)處理器之間的通信協(xié)議對命令數(shù)據(jù)包進行處理。一次數(shù)據(jù)包處理完成后,系統(tǒng)等待接收下一個數(shù)據(jù)包進行處理,?滋C/OS-II實時操作系統(tǒng)實現(xiàn)系統(tǒng)相關進程的調(diào)度。
2.2 協(xié)處理器端軟件設計
協(xié)處理器端軟件處理流程如圖4所示。系統(tǒng)上電啟動后從處理器指定的地址開始運行,并進行MSP430處理器的中斷向量、堆棧和處理器平臺的初始化;然后,進行相關外圍硬件設備(如串口和RF1A射頻模塊等)的初始化;初始化完成后進入主循環(huán)處理程序。在主循環(huán)處理器程序中, 系統(tǒng)利用PWM模塊向外發(fā)射125 kHz低頻喚醒信號,以使射頻讀寫機具喚醒處于休眠狀態(tài)中的有源電子標簽,進而使射頻讀寫機具與有源電子標簽之間能夠采用433 MHz射頻載波進行數(shù)據(jù)通信,目前讀寫機具采用OOK(On-Off Keying)調(diào)制方式、利用125 kHz的載波與有源電子標簽進行數(shù)據(jù)通信;然后系統(tǒng)打開RF1A射頻模塊與串口模塊的中斷,系統(tǒng)產(chǎn)生串口中斷即表示接收到主處理器從串口發(fā)送的命令數(shù)據(jù)包,協(xié)處理器依據(jù)主處理器與協(xié)處理器的串口通信協(xié)議對命令數(shù)據(jù)包進行解析;然后系統(tǒng)通過控制RF1A射頻模塊、依據(jù)ISO/IEC 18000-7空中接口協(xié)議與有源電子標簽采用433 MHz射頻信號進行通信。
2.3 主處理器與協(xié)處理器通信協(xié)議設計
基于異構多處理器的嵌入式計算平臺為主處理器與協(xié)處理器之間的串口通信定義了相應的通信協(xié)議,協(xié)議數(shù)據(jù)包的格式如表1和表2所示。其中,表1為主處理器向協(xié)處理器發(fā)送的請求數(shù)據(jù)包格式,表2為協(xié)處理器應答主處理器的應答數(shù)據(jù)包格式。
由于利用串口進行數(shù)據(jù)通信的過程中,系統(tǒng)需要逐個字節(jié)從串口接收數(shù)據(jù)或向串口發(fā)送數(shù)據(jù),因此為了有效地對這種通信方式進行處理,參考文獻[6]提出采用狀態(tài)機的方式實現(xiàn)該通信協(xié)議。根據(jù)協(xié)議要求,將整個串口通信的過程分為接收幀頭狀態(tài)、接收幀長度狀態(tài)、接收命令類型狀態(tài)、接收命令代碼狀態(tài)、接收參數(shù)長度狀態(tài)、接收命令參數(shù)狀態(tài)和接收校驗位狀態(tài),系統(tǒng)只有在接收到完整正確的數(shù)據(jù)包后才將該協(xié)議數(shù)據(jù)包傳遞給相應的處理進程進行處理。系統(tǒng)的狀態(tài)轉換圖如圖5所示。
3 實驗方案與結果
3.1 實驗方案
基于異構多處理器架構的嵌入式計算平臺構建的433 MHz有源RFID讀寫機具測試實驗驗證方案如圖6所示。系統(tǒng)采用了433 MHz有源RFID電子標簽與433 MHz有源RFID讀寫機具進行通信,讀寫機具通過以太網(wǎng)接口、串口和USB接口與上位機進行連接,上位機上的應用程序依據(jù)有源RFID讀寫機具與上位機的通信協(xié)議與讀寫機具進行通信,讀寫機具依據(jù)ISO/IEC 18000-7協(xié)議規(guī)范與有源電子標簽進行通信,讀寫機具內(nèi)部采用Cortex M3處理器和MSP430處理器構建的異構多處理器架構的嵌入式計算平臺對上位機應用程序開發(fā)人員和有源電子標簽設計人員透明。
3.2 結果與討論
依據(jù)參考文獻[7]中提出的量化研究方法,當業(yè)務需求發(fā)生變化時,系統(tǒng)采用嵌入式計算平臺需要修改的業(yè)務數(shù)據(jù)部分相關的代碼量和在整個代碼中修改相關代碼的復雜度來衡量系統(tǒng)的靈活性。本設計構建的433 MHz有源RFID讀寫機具系統(tǒng)中的業(yè)務數(shù)據(jù)部分的代碼行為70 080行,控制數(shù)據(jù)部分的代碼行為5 014行,業(yè)務數(shù)據(jù)發(fā)生變化時需要修改的代碼量2 747行。圖7為業(yè)務需求發(fā)生變化時采用異構多處理器嵌入式計算平臺和傳統(tǒng)嵌入式計算平臺時修改代碼的復雜性。傳統(tǒng)嵌入
本文在保證系統(tǒng)性能的情況下,采用衡量系統(tǒng)功耗的方式對資源分配的合理性進行度量。所構建的433 MHz有源RFID讀寫機具中,STM32F107的單位功耗為200 μA/MHz,系統(tǒng)運行頻率為70 MHz,因此系統(tǒng)功耗為14 mA;MSP430的單位功耗約為340 ?滋A/MHz,系統(tǒng)運行的頻率為20 MHz,因此子系統(tǒng)功耗為6.8 mA,控制部分的代碼量占整個代碼量的3.772%,系統(tǒng)功耗降低量隨控制部分代碼比例的變化如圖8所示。采用異構多處理器構建的嵌入式計算平臺實現(xiàn)了資源更加合理的分配,在保證系統(tǒng)性能的情況下降低了系統(tǒng)的功耗,提高了嵌入式計算平臺的可用性。
本文提出了采用異構多處理器體系結構構建嵌入式計算平臺的新思路,并依據(jù)提出的異構多處理器體系結構、采用Cortex M3內(nèi)核的STM32F107主處理器和MSP430內(nèi)核的CC430協(xié)處理器構建了433 MHz有源RFID讀寫機具。對該讀寫機具和433 MHz有源電子標簽用桌面計算系統(tǒng)中的應用程序進行了實際測試。測試結果表明,采用異構多處理器體系結構構建的嵌入式計算平臺有效地實現(xiàn)了業(yè)務數(shù)據(jù)部分和控制數(shù)據(jù)部分的分離,通過將計算密集型應用和控制密集型應用合理分配到不同的計算單元中,使得在業(yè)務數(shù)據(jù)處理流程發(fā)生變更時,系統(tǒng)不需要修改控制數(shù)據(jù)部分,大大提高了系統(tǒng)的靈活性;另一方面,采用異構多處理器架構構建的嵌入式計算平臺充分利用不同處理器不同的處理能力,既降低了系統(tǒng)的整體成本又更加合理地利用了系統(tǒng)的資源,提高了系統(tǒng)的效率。最后,采用異構多處理器體系結構重構傳統(tǒng)嵌入式計算系統(tǒng)對應用程序開發(fā)人員透明,使其具有廣泛的應用前景。
參考文獻
[1] 王蕾,謝應科,翟杰夫.嵌入式異構多處理器系統(tǒng)中的通信實現(xiàn)[J]. 計算機應用研究,2005,22(2):200-201.
[2] 岳虹. 嵌入式異構多核處理器設計與實現(xiàn)關鍵技術研究[D]. 湖南:國防科學技術大學,2006.
[3] Intel Corporation. Enhanced Intel SpeedStep technology for the Intel Pentium M processor[Z]. 2004.
[4] 陳芳園,張冬松,王志英.異構多核處理器體系結構設計研究[J]. 計算機工程與科學,2011,33(12):27-36.
[5] ISO 2003.ISO/FCD 18000-7 Information technology-Radio frequency identification for item management-Part 7:Parameters for active air interface communications at 433 MHz[S].2009.
[6] 劉宏斌.采用狀態(tài)機和消息機制的串口接收程序[J]. 單片機與嵌入式系統(tǒng)應用,2004(10):72-73.
[7] HENNESSY J L,PATTERSON D A. Computer architecture: a quantitative approach[M].5th Edition. San Francisco:Morgan Kaufman Publisher, 2011.