?

多控制融合的嵌入式控制系統通信設計

2018-02-05 01:44,
計算機測量與控制 2018年1期
關鍵詞:寄存器串口嵌入式

,

(上海工程技術大學 機械工程學院,上海 201620)

0 引言

隨著社會的不斷進步,國內外醫學康復界對失能人士及肢體障礙患者的關注越來越多,隨之而來開發的康復護理床也各具特色和優點。目前,歐美和日本等幾個發達國家在康復護理床研發上,有了突破性進展,具有較高的智能化,但國內護理床的發展還停留在半自動化狀態,多數為電動或是手動護理床,功能單一,且操作繁瑣,遠遠不能滿足市場的需求。

文獻[1-2]介紹了一種電動型護理床的控制方法,采用PLC邏輯控制器進行控制,代替了傳統的手動操作,方便實用。文獻[3]設計了一套集PLC邏輯控制、上位機監控的智能系統,大大提高了護理床的智能化程度。文獻[4-5]闡述了采用STM32微控制進行實時控制,上位機完成功能監控或以太網監控。文獻[6-7]介紹了單控制器ARM9對護理床進行控制,可完成數據采集、反饋調節等功能,更進一步提高了護理床的智能化。文獻[8]中作者提出了一種融合聲紋識別的護理床語音控制技術,能夠通過語音識別對床體功能進行控制。文獻[9]作者利用HPI通信技術實現DSP圖像處理過程中所涉及到的通訊問題。文獻[10]設計了一套DSP+ARM雙核的電能質量檢測系統,搭建了SPI通信系統,實現進行數據的高速傳輸。文獻[11]闡述了雙口RAM在DSP與ARM通信中的應用。文獻[12]中作者設計了基于OMAP_L138數字三維示波器嵌入式處理平臺,采用串口RS-232進行通信。文獻[13-16]提出了CAN總線通信在嵌入式智能控制系統中的應用。

本文設計的護理床嵌入式智能控制系統采用ARM與DSP雙核處理器,充分體現ARM實時控制、任務分配的優勢,采用的DSP微處理器可高速完成人臉信息的處理和判斷,為下位機的控制提供必要的指令信息。而要完成雙控制器對護理床的智能控制,首先要解決的就是DSP與ARM之間的通信問題。本系統選用的主控制器ARM微處理器型號是S3C2440A,可實現串口RS-232、USB、IIC、SPI等方式通信,選用的副控制器DSP微處理型號是TMS320C6748,可以實現SPI、IIC、USB、串口RS-232、網口等通信。充分考慮傳輸速率、工況要求等方面因素后,決定采用串行外設接口SPI進行通信。

1 系統結構與功能

為滿足對護理床的智能控制功能需求,本系統采用ARM+DSP雙CPU架構作為嵌入式系統。系統框圖如圖1所示。ARM作為主控制器,主要完成電機控制、被操作對象反饋信號的采集等任務,DSP作為副控制器,主要完成接收圖像信息、處理圖像數據。主控制器和副控制器通過SPI進行數據的高速傳輸。首先,通過攝像頭對人臉進行采集并將人臉信息傳送至副控制器DSP,然后DSP進行數據處理獲取嘴巴、眼睛的參數,經過專家系統規則推理得出病人所需生理活動。此時將推理結果通過SPI發送至主控制器ARM。主控制器ARM接收指令后開始運行功能程序,并經I/O口將控制信號傳送至驅動器,從而驅動電動機帶動執行件,最后完成所需動作。與此同時,主控制ARM接收霍爾傳感器、光電傳感器以及電流檢測信號,完成實時閉環控制。

圖1 護理床控制系統的整體硬件結構示意圖

2 系統硬件設計

該硬件選型為:主控制器選用ARM9微處理器S3C2440A,配有以太網、SPI通信口、RS-232串口,采用將程序指令和數據分開存儲的哈佛體系架構,具有獨立的16 KB指令緩存和16 KB數據高速緩存。除此之外,S3C2440A處理器具有很快的處理速度和豐富的外設接口,能夠滿足護理床控制系統的要求。副控制器選用DSP處理器TMS320C6748,這是業界功耗最低的浮點數字信號處理器,主頻高達456 MHz,具有豐富的外設資源,可實現RS-232串口、SPI、網口等通信。主副控制器通過SPI進行通信,SPI工作模式如圖2所示。

圖2 SPI工作模式示意圖

為了合理利用ARM硬件資源,將主控制器底板重新設計,去除系統不需要的模塊,保留和新增所需模塊。重新設計后的ARM所包含的模塊有:核心板接口、電源電路、串口電路、JTAG電路、IIC電路、復位電路、GPIO接口、系統總線接口、SPI接口電路、LED電路等。而重新設計的副控制器包括:核心板接口、電源電路、復位電路、JTAG電路、GPIO電路、LED、電路、串口電路、網絡接口電路、視頻接口模塊電路、SPI接口電路。在硬件電路設計過程中,由于PCB的設計質量的好壞直接影響程序運行的穩定行,因此在設計過程中,從全局角度出發,詳細了解每一個元器件的電氣特性,嚴格按照其使用要求進行設計,充分考慮元器件之間存在的干擾及影響,在布局中不斷進行調整,最大限度地提高PCB的抗干擾能力。

3 系統軟件設計

3.1 SPI通信機制

SPI總線(serial peripheral interface)的通信機制為“主機-從機”方式,能以8位、16位或32位數據流進行環形數據信息交互。根據護理床控制要求,ARM作為主機,DSP作為從機。兩個微處理器中都有一個移位寄存器,采用四線制進行連接通信,包括片選信號線(CS)、時鐘信號線(CLK)、主機輸出/從機輸入數據線(MOSI)、主機輸入/從機輸出數據線(MISO)。ARM通過拉低片選信號(CS)后,兩個控制器便可以進行數據通信。

3.2 ARM控制器SPI程序設計

圖3 ARM端SPI硬件示意圖

S3C2440A包含了2個SPI,每個都有2個分別用于發送和接收的8位移位寄存器。一次SPI傳輸期間,同時發送(串行移出)和接收(串行移入)數據。由相應控制寄存器設置指定8位串行數據的頻率。在使用SPI通信時,主要用到以下寄存器:SPI控制寄存器、SPI波特率預分頻寄存器、SPI發送數據寄存器、SPI接收數據寄存器、SPI狀態寄存器。在該系統中,主控制器ARM的SPI端口作為主機,可以通過設置SPPREn寄存器中的相應位來控制發送頻率??梢孕薷钠漕l率來調整數據寄存器的值。SPI模型程序編寫步驟為:1)設置波特率預分頻寄存器(SPPREn);2)設置SPCONn來正確配置SPI模型;3)寫數據0Xff到SPTDATn 10次來初始化MMC或SD卡;4)設置起nSS作用的GPIO引腳為低來激活MMC或SD卡;5)發送數據 i 檢查發送就緒標志的狀態(REDY = 1),并接著寫數據到 SPTDATn;6)接收數據(1):SPCONn 的TAGD位禁止=普通模式;7)i寫 0xFF 到 SPTDATn,然后確認 REDY 的置位,并接著從讀緩沖器讀取數據;8)接收數據(2):SPCONn 的 TAGD 位使能 = 自動發送雜數據模式;9)i確認 REDY 的置位,并接著從讀緩沖器讀取數據(然后自動開始傳輸);10)設置起 nSS 作用的 GPIO 引腳為高來釋放 MMC 或 SD 卡。程序設計如下。

3.2.1 初始化函數

void SPI0Init(void){

rGPECON &= ~((3<<26)|(3<<24)|(3<<22));

rGPGCON |= ((2<<26)|(2<<24)|(2<<22));

rSPPRE0 = (PCLK/2/1000000) - 1;

rCLKCON = (rCLKCON & ~(1 << 18)) | (1 << 18);

rSPCON0 &= ~(0x7f);

rSPCON0 |= ((1<<4)|(1<<3));

rSPPIN0 &= ~((1<<2)|(1<<0));

}

3.2.2 數據傳輸函數

u8 SPI0RWData(u8 dat){

u8 retry=0;

u8 temp = 0;

while (!(rSPSTA0 & 0x01)) 等待數據傳輸就緒

{

retry++;

if(retry>200)return 0;

} 傳輸數據

rSPTDAT0 = dat;

while (!(rSPSTA0 & 0x01)) 等待數據傳輸就緒

{

retry++;

if(retry>200)return 0;

}

temp = rSPRDAT0;

return temp; 返回數據

}

3.3 DSP控制器SPI程序設計

DSP內部硬件配置有:DSP移位寄存器、16位發送緩沖寄存器(TXFIFO)、16位接收緩沖寄存器(RXFIFO)。在通信過程中采用環形數據傳輸模式,如圖4所示。

1)SPI硬件接口電路,是DSP與ARM進行數據交換的硬件接口,在通信過程中將SPI的MISO、MOSI、CS引腳的DSP端都接上500歐姆上拉,CLK信號線使用1 K歐姆下拉,經過測試,這樣的設置使得通信穩定性和可靠性更好。

2)主程序設計。主要完成主程序配置,即SPI工作模式的合理化配置,這是保證通信的首要步驟。配置過程為:1)將DSP的SPI配置為從機模式,且其數據位為16位數據交換模式;2)結合主控制器ARM的SPI時序,配置DSP端SPI時序與其相互匹配;3)將發送緩沖 TXFIFO 和接收緩沖 RXFIFO配置為中斷工作模式。在SPI工作時,負責接收中斷程序,并讀取數據,同時將必要數據傳送給主控制ARM。

3)發送中斷程序的配置。在主程序執行過程中,當中斷觸發,主程序將接收到的數據發送出去。執行過程為:DSP硬件不斷將TXFIFO中的數據發送出去,那么TXFIFO中的數據不斷減少,直至到達其設定閾值,此時發生中斷,執行發送中斷服務程序。

4)接收中斷程序的配置。配置接收中斷程序是將RXFIFO接收到的數據讀取出來,其過程類似于發送中斷程序。執行過程為:DSP硬件不斷接收數據并存儲至RXFIFO中,那么RXFIFO中的數據不斷增加,直至到達其設定的閾值,此時發生中斷,執行接收中斷服務程序。

圖4 數據傳輸模式示

圖5 SPI接口設計示意圖

數據傳輸函數如下:

Void SPI_Transfer(Uint16 *SPI_SRC,Uint16 *SPI_DST){

int a; //定義變量

for(a=0;a<256;a++)

{

While(CHKBIT(spiRegs->SPIBUF, 0x20000000))

{;}

CSL_FINS(spiRegs->SPIDAT0,SPI_SPIDAT1_TXDATA,*SPI_SRC++);

delay(30); //稍加延時 *SPI_DST++=CSL_FEXT(spiRegs->SPIBUF,SPI_SPIBUF_RXDATA);

}

}

4 實驗與分析

4.1 實驗裝置與實驗方法

實驗現場平臺如圖6所示。主要實驗設備包括:計算機、DSP副控制器及在線仿真器、ARM主控制器、微型攝像頭、顯示器等。

圖6 實驗現場平臺

本系統在實驗過程中采用上位機在線仿真、下位機實時驗證等方法。首先,將所有設備正確連接后,對人臉進行信息采集,副控制器DSP獲取人臉參數,包括眼睛和嘴巴參數,然后通過專家系統推理,得出相應結果,并實時將處理結果通過SPI接口傳輸到主控制ARM,主控制器接收指令后進行綜合判斷,在片內運行功能函數,緊接著經I/O端口將控制信號發送至驅動器,從而驅動電機帶動執行機構完成相應動作。與此同時主控制器ARM通過接收霍爾傳感器信號、光電傳感器信號、電流數據采集信號,然后進行實時精確化控制。

4.2 實驗結果分析

實驗結果顯示,副控制器DSP可通過攝像頭對人臉信息進行準確采集,并完成眼睛和嘴巴的參數提取,然后通過專家系統推理得出相應結果。最后經SPI通信接口將相應結論傳輸至主控制器ARM,從而ARM依據接收到的指令,運行片內功能函數,通過I/O端口經驅動器驅動電機并帶動執行機構完成相應功能動作。與此同時,主控制器ARM接收傳感器的采集信號并形成閉環實時控制回路。在該智能控制系統中,SPI通信的有效性是其功能實現的重要保障,而ARM與DSP時序的正確匹配又是數據有效傳輸的必要條件。如圖7所示,ARM與DSP時鐘的匹配保證了在MISO與MOSI數據交互時不發生信號的跳變。在完成通訊的基礎上,DSP接收人臉信息并處理,同時將相應結果數據傳送至ARM端,ARM端接到指令并及時做出響應,并反饋信息給DSP。

5 結論

SPI在ARM與DSP通信的應用使得整個系統的執行效率高、穩定性好。SPI傳輸速率最高可達16 Mbit/s,且硬件設計部分簡單,無需外設擴展。在該系統中應用SPI作為主控制器ARM和副控制器DSP的通信接口,使得系統能夠有效的完成二者之間的數據交互,讓整個系統更加融合?;贏RM與

圖7 通訊測試示意圖

DSP融合的康復護理機器人床,是將ARM和DSP雙控制應用到護理床上的一種新型方式,可實現智能護理??朔似胀ㄗo理床功能單一化、低智能化的問題,為未來護理床的發展提供了基礎性的儲備。隨著社會的不斷進步與發展,智能化的醫療護理設備將成為熱點,而嵌入式控制器如ARM、DSP等在智能化、小型化設計中有著明顯的優勢。而在設計開發過程中依據不同類型的嵌入式控制器特點及優勢進行組合使用將成為大趨勢。本文提及的ARM與DSP雙控制融合的嵌入式系統架構,在未來的發展中可將其設計為統一控制器,內部直接完成通信電路的設計以及資源的共享,例如包含ARM與DSP雙核處理器的控制器。這將大大提高嵌入式控制系統的廣泛實用性。同時也會為智能化設備提供有力的硬件支持。

[1]牛 山,王繼榮,蘇明順,等. 電動型多功能護理床PLC的控制系統設計[J]. 青島大學學報(工程技術版),2017(1):37-41.

[2]馮亞文,李林釗,周 銳,等. 新型多功能護理床的設計研究[J]. 科技展望,2017(3):110.

[3]林 玲. 失能人士護理設備質量檢測系統的設計與實現[D].西安:西安電子科技大學,2015.

[4]高振斌,李 濤,白 明,等. 家庭護理床的智能監控系統設計與實現[J]. 現代電子技術,2016,(14):42-45.

[5]常國權,侯貴法,郭曉波. 基于以太網的智能護理床系統設計與實現[J]. 電子器件,2015(4):893-897.

[6]劉凌峰. 多功能護理床智能監測與控制系統[D].天津:天津工業大學,2016.

[7]陳 敏. 康復護理機器人床控制系統的研究與開發[D].上海:上海工程技術大學,2016.

[8]陳俊彬. 融合聲紋識別的護理床語音控制系統研發[D].廣州:廣東工業大學,2016.

[9]伍 坪. 基于DSP圖像處理和HPI通信接口的采摘機器人設計[J]. 農機化研究,2017,(10):228-232.

[10]王麗穎. 基于DSP和ARM的電能質量監測系統[D].上海:上海交通大學,2009.

[11]房緒鵬,李 輝,莊見偉,等. 基于DSP+ARM的電能質量檢測儀的設計[J]. 現代電子技術,2017(4):179-182.

[12]周 亮. 基于OMAP-L138的數字三維示波器嵌入式處理平臺硬件設計[D].成都:電子科技大學,2014.

[13]陳浩然. 某生產線搬運機器人伺服控制系統研究[D].南京:南京理工大學,2016.

[14]Yang G, Wang F, Cui S, et al. ARM and DSP Based Device for Power Quality Monitoring[M]. Advances in Electronic Engineering, Communication and Management Vol.2. Springer Berlin Heidelberg, 2012:163-168.

[15]Li J, He Y, Zou Z, et al. Design of an Embedded Multi-biometric Recognition Platform Based on DSP and ARM[M]. Biometric Recognition. Springer International Publishing, 2014:426-433.

[16]李 露. 基于CAN總線的多功能床控制器的研發[D].天津:河北工業大學,2013.

猜你喜歡
寄存器串口嵌入式
基于IMX6ULL的嵌入式根文件系統構建
Focal&Naim同框發布1000系列嵌入式揚聲器及全新Uniti Atmos流媒體一體機
Lite寄存器模型的設計與實現
基于API函數庫實現串口數據通信的分析與設計
基于EM9000工控板高性能雙串口通信模型設計與實現
TS系列紅外傳感器在嵌入式控制系統中的應用
二進制翻譯中動靜結合的寄存器分配優化方法
嵌入式PLC的設計與研究
移位寄存器及算術運算應用
MCS—51單片機中的多串口通訊技術的應用
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合