時間:2023-05-30 09:05:19
開篇:寫作不僅是一種記錄,更是一種創造,它讓我們能夠捕捉那些稍縱即逝的靈感,將它們永久地定格在紙上。下面是小編精心整理的12篇arm單片機,希望這些內容能成為您創作過程中的良師益友,陪伴您不斷探索和進步。
關鍵詞:單片機實驗;Cortex-MOarm;8051單片機;LPCI100系列ARM
1 背景
Intel公司于1980年推出的8051系列單片機,奠定了嵌入式應用的單片微型計算機的經典體系結構,由于進入國內市場較早,學校單片機教學都是采用8051系列;加之Intel公司實施了805l的技術開放政策,ATMEL公司、PHILIPS公司著名的電子公司,以其在電子應用系統的優勢,著力發展8051單片機的控制功能及單元,形成了可滿足大量嵌入式應用的單片機系列產品。直到現在,仍然有不少學校在單片機教學中采用8051系列。ARM公司自1990年成立以來,不斷推出各種ARM內核,前幾年推出的都定位在高端市場;對于使用者,芯片、開發工具及開發平臺較貴,開發難度也較大;ARM公司在2005年收購805l的最大工具開發商Keil,就為其進入8/16位市場做準備。2009年后,ARM公司推出了Cortex-MO ARM,它低功耗、高性能、代碼密度高,價格比其他8位單片機低,而且開發工具、平臺價格低,開發難度大大降低。可以說,用Cortex-MO ARM代替8051單片機的時機已經成熟,學校單片機教學內容進行改變是實現代替的第一步。我們在使用Cortex-MO ARMLPCI 100教學過程中,把兩者性能及使用方法進行了對比,在具體應用上提出自己的看法,并做了有益的探索。
2 LPCI100系列ARM功能
ARM Cortex-MO處理器工作頻率50MHz,嵌套向量中斷控制器,可快速確定中斷,喚醒中斷控制器,支持優先中斷自動喚醒。具體包括3種節能模式:睡眠模式、深度睡眠模式和深度掉電模式。內存:最高128KB閃存,最高16KBSRAM。串行外設:UART支持分頻波特率產生、內部FIFO和RS-485;SPI控制器,支持FIFO和多協議功能;12C總線接口,支持全速12C總線規范和增強型快速模式,數據速率高達1Mbit/s,支持多地址識別和監控模式。模擬外設:8個通道10位模數轉換器,轉換速率最高可達每秒250K個采樣。最高42個通用I/O(GPIO)管腳,具有可配置的上拉,下拉電阻和可配置的新型開漏工作模式。4個通用計數器、計時器,共4個捕獲輸入端和13個匹配輸出端。可編程看門狗定時器(WDT),帶鎖死功能;一個系統計時器;各個外設均自帶時鐘分頻器,有利于節能。
從上述性能可以看出,8051單片機具有的所有性能,LPCI100系列ARM都具有,而且增加了許多8051單片機沒有的功能。
2.1 LPCI100系列ARM與8051的性能對比
(1)指令長度對比。指令的長度和微處理器的位數無關,經過比較發現LPCI100的指令長度和8051單片機很相似,指令的密度非常大。
(2)處理器運算能力對比。8051單片機雖然支持8位和16位數據,但是對于16位數據需要多次處理,增加了堆棧和中斷延遲;LPCI100處理器對長整形的數據處理只需要極少的周期,并具有極佳的浮點處理能力,對于32位數據的傳輸也只需要很少的時鐘周期。
(3)處理性能對比。比較微處理器性能的一種常用的方法是使用Dhrystone基準,它在微處理器中只占很小的內存。比較的結果顯示,Cortex-MO性能遠大于8051單片機。
(4)運行模式及指令數量對比。8051單片機有一種運行模式,Cortex-MO ARM也只有一種運行模式,非常簡單;8051單片機指令集為50條左右,Cortex-M0的指令集也僅有56條。
(5)代碼量對比。根據業界的CoreMark基準,在多數常見微控制器任務中,基于Cortex-MO ARM微控制器的代碼需求量降低了40%-50%,代碼量已經小于同等功能下8051的代碼量。這是因為8051所使用的指令并不全是8位的(8-24位),而Cortex-MO的指令位寬大部分是16位的;8051所要處理的數據也不總是8位的,而所有8位、16位和32位數據傳輸在Cortex-MO ARM中都是通過單一指令完成的;8051的尋址空間限制在64KB,雖然可以用分段方法擴展,但這會帶來代碼的增長,而Cortex-MO ARM尋址空間可達4GB,完全能滿足編制代碼要求。
(6)內存訪問效率對比。Cortex-MO ARM使用32位總線,減少了內存訪問所需次數,從而降低了功耗。對于在內存中復制同樣數量的數據,8位微處理器需要4倍的內存訪問次數和更多的取指,所以8位單片機需要消耗更多的功耗,才能達到同樣的目的。
(7)價格對比。隨著近年來制造工藝的不斷進步,Cortex-MO ARM的成本也不斷降低,已經與8位和16位微處理器處于同等水平。就LPCI100系列ARM而言,價格比許多8位單片機還低。
2.2 使用方式比較
用LPCI100系列ARM代替8051單片機,在使用方式上要相對簡單。
(1)I/O端口。8051單片機I/O端口大多數沒有復用功能,使用相對簡單。LPCI100系列ARM絕大部分I/O端口都有復用功能,可以設置為A/D輸入、總線等,默認狀態為I/O端口。它共有4個通用I/O端口(如LPCI114 LQFP48共有42位I/O端口),通過GPIO配置寄存器設置不同功能;對于信號傳輸方向,通過寄存器設置,但一旦設置完成,正常使用就不煩瑣了。
(2)中斷。就中斷控制過程而言,805l單片機和LPCI100系列ARM類似,都是當外設符合中斷條件時,中斷源會向處理器提出中斷請求,處理器開始響應一個中斷,中斷控制器會自動定位一張中斷向量表,根據中斷號從表中找到中斷服務程序(ISR)的入口地址并跳轉過去執行。當中斷服務程序執行完成后,從堆棧中取出中斷前斷點的程序指針及數據,在斷點處繼續執行。LPCI100系列ARM支持的中斷源多,且具有4個中斷優先級,8051單片機只有2個中斷優先級。
(3)定時器/計數器。8051單片機具有2個16位定時器/計數器,LPCI100系列ARM具有2個16位和2個32位定時器/計數器,每個定時器/計數器都有一個相應的輸入信號引腳和2-4個相應的輸出信號引腳,具有定時、計數、輸入捕捉功能,并可以設置為脈沖寬度調制(PWM)模式,用于電機控制。此外,LPCI100系列ARM還有兩個非常有用而8051單片機不具備的功能,就是系統節拍定時器,其擁有專門的內部時鐘與異常中斷向量,可為實時操作系統提供固定的時間間隔中斷;還有就是看門狗定時器(WDT)模塊用于對微處理器的運行狀態進行實時監測。
(4)通信部件。8051單片機的串行接口只有一個UART,而LPCI100系列ARM具有豐富的串行接口,一個UART還支持RS-485的9位模式和輸出使能,給一些分布式控制系統應用帶來了方便。除此之外,還具備SSP接口、12C接口,方便應用時選擇。
(5)開發軟件。KEIL軟件是最普及的一種8051單片機編程環境,大多數8051單片機學習、開發人員都是采用KEIL進行編程。在ARM公司收購KEIL公司后,ARM公司結合自己的優勢和KEIL的特點推出了新一代的ARM編譯平臺――RealView MDK。RealView MDK集成了許多先進的技術,包括uVision4集成開發環境與RealView編譯器,支持所有的ARM芯片,并且自動配置啟動代碼、集成Flash燒寫模塊、強大的Simulation設備模擬、性能分析、邏輯分析等,大大降低了初學者的門檻,而且所使用的uVision集成開發環境(IDE)和開發使用ARM非常相似,在開發使用上都有著可以借鑒的地方。
3 教學案例
為了配合課堂教學需要,我們設計了Cortex-MO LPCIl00系列ARM實驗平臺,主要模塊有:ARM核心模塊(包括LPCIll4,復位控制芯片,SWD調試電路);鍵盤、顯示模塊(一個4×4矩陣鍵盤,LCDl602液晶顯示器);通訊接口模塊(包括RS232、RS485、12C和SPI等),8路A/D轉換輸入,配接8個電位器,實現A/D采集;一路PWM輸出,可以通過示波器觀察波形;帶光耦的4路開關量(輸入和輸出),4路繼電器控制(帶指示LED)。除了可以完成所有8051單片機傳統的實驗外,還增加了A/D轉換、PWM控制、12C、SPI、WDT及功耗控制等實驗。
根據Cortex-M0 LPCI100系列ARM的特點,結合教學需要,我們設計了下述分布式智能溫室采集控制系統實驗方案。在嵌入式應用中,有一種形式比較普遍,就是數據采集(通過A/D轉換實現),配以若干開關量輸入/輸出,并以上、下位機通過RS-485組成的分布式控制系統。這就是我們這個實驗方案的原型。
分布式智能溫室采集控制系統由5個部分組成,如圖1所示。
(1)信號采集輸入部分:包括溫度、濕度、光照、風速、風向、雨量等環境因子的檢測。
(2)輸出及控制部分:控制風機濕簾、遮陽網、窗的開關等系統。
(3)LPCI114部分:包括信號轉換與處理部分,將采集的信號轉換為計算機和操作人員可識別的量,由LPCI114進行處理。灌溉控制,包括定時灌溉,時間由控制室調整制定,并可根據實際情況,在溫室內進行手動控制灌溉。
(4)RS-485通訊部分:用于和上位機通訊,完成數據通訊、控制命令下達和遠程參數設置。
(5)LCD顯示和鍵盤部分:用于部分數據監視、溫度、濕度等上限和下限的參數設置。
我們用實驗平臺對上述各部分硬件進行對應設置,用5個電位器代替溫度、濕度等模擬量,接到LPCI114A/D輸入,用3個繼電器代替風機濕簾等的控制。
LPCI100系列ARM實驗平臺編制的程序主要是:定時采集溫度、濕度等數據值,通過RS485傳到上位機(PC機);通過采集到的各個數據和設定的上限和下限值進行比較,控制對應繼電器工作(可以通過配套LED觀察結果);編制鍵盤、LCD程序;編制上位機(PC機)通訊、顯示程序。
4 結語
雖然LPCIl00系列ARM使用上比8051系列單片機煩瑣一些,這主要是因為LPCIl00功能多,需要配置,但一旦配置完成,后面的使用中就不用再改動了;還有就是各個功能部件(中斷、定時器/計數器、串行接口等),控制寄存器的數量多于8051單片機,但也是一旦設置完成后,在后面的使用中,就和普通單片機差不多了。另外LPCIl00系列ARM的設計考慮了在應用中的基本功能要求,對最常用的功能,如FO輸入輸出功能采用了默認的形式,即不配置成其他功能,默認成普通I/O口,這樣連開始的配置或設置都不需要了。
關鍵詞 組態王;ARM9;通訊協議;串口通信
中圖分類號TP311 文獻標識碼A 文章編號 1674-6708(2011)49-0235-01
0 引言
隨著工業自動化要求提高,組態軟件設計的監控系統逐步普及,開發的控制設備與監控設備之間需要通訊。組態王KingView軟件基于Microsoft Windows XP,NT/2000操作系統,具有友好的人機操作界面,可與各種PLC、智能儀表等實時通訊,但無法與自己開發的控制設備通信,ARM9作為高性能處理器經常用來開發工控設備,所以實現組態王與ARM9開發板的串口通信對工控設備開發十分必要。
1 組態王與ARM9開發板的串口通信方法
1.1 組態王支持的單片機通訊協議(ASCII)
本設計采用亞控公司的組態王中的單片機通訊協議(ASCII)實現組態王與ARM9開發板串口通信。亞控公司的組態王中的單片機通訊協議(ASCII)簡介如下:
上位機發送讀命令:字頭-設備地址-標志-數據地址-數據字節數-異或-CR
若正常下位機應答:字頭-設備地址-數據字節數-數據-異或- CR
若不正常下位機應答:字頭-設備地址-**-異或- CR
上位機發送寫命令:字頭-設備地址-標志-數據地址-數據字節數-數據-異或- CR
若正常下位機應答:字頭-設備地址-##-異或- CR
若不正常下位機應答:字頭-設備地址-**-異或- CR
1.2 組態王與ARM9開發板串口通信方法
組態王與ARM9開發板串口通信采用亞控公司的組態王中的單片機通訊協議(ASCII)。組態王安裝在上位PC機上,組態王本身支持單片機通訊協議(ASCII),要實現組態王與ARM9開發板串口通信,其實任務就是在下位機ARM9開發板上設計下位機應答程序和通信數據緩存區,用下位機應答程序和上位機(組態王)發送的讀寫命令通信,用ARM9設計的通信數據緩存區中的存儲單元與組態王中定義的寄存器對應。
2 組態王與ARM9開發板串口通信接口電路
上位PC機與下位單片機ARM9的串口通信硬件接口電路。上位PC機與下位機ARM9開發板本身都自帶串行通訊接口,但由于在分布式系統中上位機與各下位機的分布不集中,故采用RS-232轉RS-485進行串口通信。RS-485最大傳輸距離為1 219 m,最大傳輸速率為10 Mb/s,對干擾有較強的抑制能力。
3 ARM9開發板串口通信程序設計實現
3.1 下位機ARM9通信數據緩存區設計
下位機ARM9設計通信數據緩存區,其目的是讓下位機通信數據緩存區中的存儲單元與組態王中定義的寄存器對應起來,為數據通信做好準備。本設計在ARM9中定義64字節通信數據緩存區(U8 X[64]),即數組邏輯地址從0-63共64個字節的存儲單元,每個存儲單元都可讀可寫,具體情況可由開發監控系統的需要來靈活決定。上位PC機組態王中定義寄存器格式Xdd,其中dd代表數據地址,此地址與本設計ARM9通信數據緩存區存儲單元(數組X)的地址相對應。
3.2 下位機ARM9串口通信程序設計
組態王與ARM9開發板串口通信程序設計具體思路。首先,在ARM9中設置串口通信數據緩存區(定義64字節緩存區:U8 X[64])與組態王中定義的寄存器X相對應;然后,讓ARM9開發板上的串口等待上位PC機(組態王)發送的讀寫命令,當串口接收到數據時發生串口中斷,并執行串口中斷處理程序。串口中斷處理程序功能:當串口收到不是讀寫命令或收到讀寫命令的設備地址不是本下位機的地址時本下位機不作回應,當收到讀寫命令的設備地址是本下位機的地址時本下位機按照單片機通訊協議(ASCII)作出相應的應答。
完成組態王與ARM9開發板串口通信的串口中斷程序及中斷處理程序ARM _ ACK()的程序流程圖如下圖:
本文基于亞控公司的組態王中的單片機通訊協議(ASCII)實現組態王與ARM9開發板串口通信的程序設計方法,已在TQ2440開發板上編程設計實現,并成功與組態王正確通信。
4 結論
在工控中使用32位ARM處理器,是未來工業控制的發展方向,所以解決組態王等監控軟件與ARM開發板串口通信對工控設備開發有著重要的現實意義。
關鍵詞: 硬幣鑒別; ARM; 傳感器; AD9480
中圖分類號: TN710?34 文獻標識碼: A 文章編號: 1004?373X(2014)18?0114?03
Design of coin identification system based on ARM
WANG Juan, WU Hao, FU Cheng?wei, JING Ya
(School of Physics, Jilin University, Changchun 130012, China)
Abstract: In order to reduce the false coin circulation, a design of coin identification system based on ARM is presented in this paper. This is a composite testing system, in which capacitive sensor, electromagnetic sensor, eddy current sensor and optical sensor are used, to detect the material, thickness and diameter of coins. The signal acquisition circuit system is based on AD9480 to realize high?speed and efficient acquisition and processing of coin features. The processed feature data of coins is sent to STM32 to compare the data with true coin values to identify the detected coins. This system has a great market prospect.
Keywords: coin identification; ARM; sensor; AD9480
0 引 言
人民幣硬幣是由多種金屬材料合成而成,以一元硬幣為例,其中含鐵、碳、鎳等不同金屬,其中各種材料的比例多少是國家的機密。由于造假者并不了解真幣的各種材質比例及制造工藝,只是在材質、尺寸、質量、圖案上進行模仿,目前,對假硬幣進行的鑒別方法主要有圖像對比法、稱質量法和渦流傳感器檢測法。圖像法硬件成本高,不易做到實時性,稱重法片面,渦流傳感器對一些特定硬幣檢測的限制性等等。所以,設計出一種對國內外多種硬幣材質有效鑒別的系統,以電磁感應原理,電容器原理及電子技術為硬件技術支持,以STM32單片機為核心的系統。文中介紹了系統具體設計和實現。
1 系統總體設計
本系統是基于ARM 的硬幣鑒別系統,單片機采用ST公司的STM32F103VE型號,其負責系統控制和對數據的采集和處理,并且提供報警等服務。由線性CCD組成的光學傳感器,硬幣經過時,可以檢測其直徑。由兩個極板構成的電容極板,硬幣的厚度會影響兩極板上的電容,進而影響電壓的變化,電壓信號在經過濾波和放大,通過AD9480采集到表征硬幣厚度的電壓值。電磁傳感器和渦流傳感器,因金屬材質的不同會對傳感器的電感量大小產生影響,然后分別經過頻率計和電壓比較器后,單片機采集其表征金屬材質的頻率值。將AD9480和單片機采集所得到的4組值與存儲在單片機內的真硬幣的特征值相比較,即可確定硬幣真假和種類。系統框圖如圖1所示。
2 硬件檢測原理及方法
本文設計的硬幣鑒別系統有硬幣真偽鑒別、假幣報警、學習功能。以下將對此系統的工作原理,總體結構進行闡述。
2.1 電磁傳感器
電磁傳感器結構圖如圖2所示。
將線圈(圖2中紅色部分)接入諧振電路,當硬幣(圖1中灰色部分)從線圈中間通過時,由于電磁感應,影響線圈是Q值和L,公式如下:
[f=12πLC] (1)
[Q=ωLR] (2)
根據式(1)、式(2)可知,電感系數改變會改變自身的[Q]值和[L]值,由此得出頻率[f],通過用單片機采集頻率,計算,對比即可通過材質辨別硬幣的真假。電磁感應原理如圖3所示。
圖1 系統框架
圖2 電磁傳感器結構圖
圖3 電磁感應原理圖
2.2 渦流傳感器測
使用兩側線圈產生特定高頻率電磁波,硬幣經過時會產生渦流效應,可以檢測包絡覆蓋以及內外圈不同金屬的硬幣。兩側線圈(圖4中兩端黑色部分)產生特定頻率的電磁波,硬幣經過時會產生渦流效應,進而影響線圈的的質量因子,電感,阻抗等。原理如上,然后根據頻率的變化,經過單片機采集,計算,對比即可通過材質經行真假硬幣和幣種的辨別。
2.3 電容傳感器測量厚度
利用平行板電容原理檢測硬幣厚度。圖5中硬幣兩側紅色部分為平行板金屬電極。
當硬幣通過硬幣口進人平行電容傳感器時(如圖5所示)會引起傳感器電容[Δd]的變化,由式(3)、式(4)可得相應電容C1與C2的變化(C1為硬幣與上電容板的電容,C2為硬幣與下電容板的電容,d為間距),通過電容傳感器配用的交流電橋將電容的變化轉換成電壓信號。
[C1=εAd-Δd=C011-Δdd] (3)
[C2=εAd+Δd=C011+Δdd] (4)
[圖4 渦流傳感器結構圖 圖5 電容傳感器結構圖]
其中變間隙式平行電容傳感器通過檢驗硬幣的尺寸、厚度來辨別真偽,硬幣經過電容傳感器會引起電容的變化,經交流電橋轉換成電壓信號見圖6。經過信號放大,可用單片機的A/D來采集,經單片機的處理,在單片機中進行真假幣判斷。
圖6 平行電容傳感器
2.4 光學傳感器
用光學傳感器測量直徑,直徑測量使用線陣CCD,使用高速AD9480采集數據。根據相關文獻基本可以實現0.1 mm精度測量,測量速度50 ms左右。
圖7中左側黑色部分為線陣CCD傳感器,右側為線性光源。
圖7 光學傳感器結構圖
3 控制部分及數據分析
3.1 控制部分
單片機在初始化之后,系統選擇運行模式(如圖8所示),若為學習模式,則進入學習模式子程序(見圖9)。首先要判斷是否有硬幣進入通道,如若沒有,繼續等待,若有真幣,則通過A/D采集傳感器轉換過來的數值,經過單片機處理后,將真幣特征值存入E2PROM,作為硬幣鑒別的標準特征值。
圖8 系統總體模式
圖9 單片機學習模式
若是工作模式,則進入工作模式子程序,把經過傳感器轉換,A/D采集,單片機處理后的待測硬幣特征值與E2PROM中的標準特征值進行比較,來判定硬幣的真偽。如果待測硬幣特征值的差值在預設的誤差范圍內,則可認定待測硬幣為真,真幣數量加1。若待測硬幣特征值在預設的誤差范圍之外,繼續與E2PROM中的其他真幣特征值相比較,若果得到的特征值差值都在范圍外,則可斷定該幣為假幣,發出聲音報警,剔除假幣,等待新的硬幣檢測。如圖10所示。
3.2 檢測數據及分析
不同面值的硬幣和同一面值得真假幣直徑、厚度、材質等都有很大差別。利用本文所述的的硬幣鑒別系統對真幣進行檢測,然后把表征硬幣特征的值存入E2PROM,應用本系統進行鑒別真假幣時,只需把待測硬幣的特征值與E2PROM中的真幣特征值比較即可。實驗測試值如表1所示。
圖10 單片機工作模式
表1 幾種硬幣的檢測范圍及分析表
4 結 論
本文是以電磁傳感器和渦流傳感器為基礎,對硬幣進行材質檢測,兩種傳感器可保證能夠對假幣的材質如包絡,覆蓋等的形式進行有效鑒別。本文應用光學傳感器和電容傳感器有效檢測硬幣的直徑和厚度,可以進一步鑒別硬幣和區分幣種。本文基于ARM的硬幣鑒別系統實現了快速采集數據、數據處理、控制等功能,通過測試,運行良好,有很大的市場應用前景。
注:本文通訊作者為付成偉。
參考文獻
[1] 黃祥龍,李中會.一種基于solidworks的新型硬幣鑒偽分揀機設計[J].中國新技術新產品,2010(11):60?63.
[2] 劉藝柱,郭素娜.基于電渦流傳感器的硬幣識別系統的設計[J].河南理工大學學報,2010(4):29?30.
[3] 趙凱華,陳熙謀.電磁學[M].北京:高等教育出版社,2011.
[4] 呂冰,葉婷婷,趙劍鋒.基于電磁檢測技術的硬幣檢偽裝置[J].儀表技術與傳感器,2010(12):80?82.
不過,MIPS科技公司這幾年也在尋求突破。Microchipx MlPS架構的積極擁躉者之一,最近,Microchip的Edendur Kristjansson~ARM公司聲稱的32位單片機(MCU)應用的可移植性產生了疑問。
32位單片機的應用可移植性:現實還是神話?
Erlendur首先介紹了事情的原委:2008年11月,ARM公司宣布推出Cortex微控制器軟件接口標準(Microcontroller Software InterfaceStandard,CMSIS)。ARM聲稱,對于新器件的軟件開發項目或將現有軟件在不同芯片廠商的基于Cortex-M的單片機之間移植時,這項標準可降低軟件設計成本。這聽起來很不錯,但事實確實如此嗎?
Erlendur分析道,根據ARM所言,CMSIS是“適用于Cortex-M處理器系列的與廠商無關的硬件抽象層。CMSIS為不同芯片廠商和中間件提供商的處理器提供了簡單一致的軟件接口,這簡化了軟件重用,縮短了開發人員對于新單片機(MCU)的學習過程以及新器件的上市時間。CMSIS的問世使芯片廠商可將資源集中在突出其產品的外設功能上,無需在對單片機進行編程時保持各自不兼容的標準。”
可移植性的可能性探討
我們已了解各個單片機制造商都能提供什么,現在可以看一下抽象層能為設計人員做些什么(如果有的話)。首先,我們來看CMSIS聲稱所能提供的功能,同時應記住前文所述的系統架構、外設和固件庫。
CMSIS版本1.3
1.內核外設訪問層:包含用于訪問內核寄存器和外設的名稱定義、地址定義和輔助函數。它還定義了一個用于RTOs內核的器件無關接口。其中包含調試通道定義。
2.這些軟件層由芯片合作伙伴通過以下方式進行擴展:
a)器件外設訪問層,提供所有器件外設的定義:
b)用于外設的訪問函數(可選):提供用于外設的附加輔助函數。
仔細閱讀此說明后,我們可以看到CMSIS提供了一種通用語言,通過它可描述MCU的不同元件。
接下來,我們看一下兩個不同的“芯片合作伙伴(使用ARM Cortex-M處理器內核的MCU制造商)”所生產的MCU中包含的部分功能。
顯而易見的是,盡管這兩個32位MCU制造商都使用Cortex-M3內核,但主要功能仍有區別。表l中列出的功能是單片機最標準的功能,即便如此它們仍有不同。這意味著,即使這兩個制造商使用相同的內核,也需要對軟件進行調整才能運行最基本的程序,例如翻轉I/O或使用UART。如果不進行一定程度的代碼重寫,而只是對基本參數進行調整,則無法在A和B之間移植軟件。
另外,在表l的示例中,廠商A和B的單片機都使用了ARM Cortex-M3內核,并且都具有符合CMSIS標準的固件庫。這是否意味著他們的庫(例如電機控制庫)可以互相移植?
其實不見得。這兩個制造商對外設和固件采用了完全不同的方法。廠商A使用專用算法庫(可能由多人經過數年開發而成)來最高效地利用其單片機上的專用外設。而廠商B則專注于使用更通用的外設并構建通用外設庫,對于特定應用則使用示例代碼和應用筆記進行說明。
這兩種完全不同的方法使得在這兩個制造商的MCU之間移植程序(例如電機控制子程序)非常困難,盡管它們使用了相同的內核。此外,庫函數的命名也不相同,這意味著用戶必須重寫代碼中的所有庫函數調用,并且要弄清將哪些變量和值提交給函數。這完全不是所謂的可移植性。
再有,設計人員關注的重點是開發特定最終用途代碼時的速度、效率和可靠性。廠商A和B采用不同的方法來達到這些目標。廠商A使用基于專用硬件的方法,而廠商B的法更加專注于通用硬件。廠商A針對特定應用提供了經過潛心開發的專用庫,以最大限度地利用其單片機的功能。而廠商B只提供基本構件,讓開發人員構建自己的解決方案。
筆者認為,如果真像Microchip所說的32位單片機的應用難以移植,那ARM陣營的優勢會打一定的折扣。如果單挑,Microchip所選的MIPS公司的內核,在計算性能也是有優勢的。
MIPS公司對其IP(知識產權)核功耗高的錯覺進行了澄清。MIPS公司中國區市場總監費浙平稱,最近,全球第一款MIPS智能手機平臺來自于中國的客戶――北京君正,這用事實證明YMIPS架構的高性能、低功耗能力。
那么如何理解高性能、低功耗,MIPS公司在這方面的創新是什么?費浙平說,高性能和低功耗是必須放在一起考量的一對指標。歷史上MIPs一直被比較多地應用于高性能領域,比如15年前多數MIPS平臺就運行在100~200MHz以上,而那時候很多其他架構只需要運行在50MHz以下,顯然,200MHz的設計實現其絕對功耗是遠大于50MHz設計的,不管其結構體系本身多么有優勢。
多年來,MIPS比較多地被應用于絕對性能要求較高的地方,這就是關于
地緣優勢:反應速度+服務支持
本土公司的最大優勢是反應快。從新產品的定義、設計到制造較為迅速,這對新興市場的快速進入尤其有利。
另外,在服務支持方面,有些技術問題不是在實驗室里就可以預測到的,但通常來說,國內客戶很難與海外的芯片設計人員直接溝通,來解決系統層面的問題。而本土芯片設計人員可以和客戶密切合作、共同開發、甚至可以深入現場一一鉆入深山老林、爬到電線桿上去觀察和解決客戶在實際現場中發生的問題。
核心技術有突破
談起單片機銷售,歸根結底取決于性價比好的產品,例如抗干擾性、低功耗、低成本等指標。
力爭在技術上做出特色的上海海爾集成電路,定位是工業級高抗干擾、高可靠的8位通用及專用MCU。
上海海爾集成電路的第一個客戶就是海爾集團,而海爾集團的白色家電對抗干擾性要求苛刻,尤其在洗衣機、冰箱、空調等電器內部都有大型馬達/壓縮機,要求內部芯片在干擾很高的條件下仍能正常工作。
抗干擾是個世界性的難題,這也是很多MCU廠家很難涉足白電的原因。為攻破此難關,上海海爾集成電路針對海爾集團的產品反復試驗,研發了多年,因而積累了豐富的設計與工藝經驗。
專用、通用相結合
縱觀市面上的單片機公司,通常分為通用和專用兩大陣營。一般日系做專用的較多,例如瞄準家電、電動車、電表等市場做專門的研發及推廣;歐美系則通用型產品居多,特點是能夠提供較為方便的開發環境,易于客戶在多種應用中使用。
上海海爾集成電路的策略是通用與專用結合:開始以通用型產品進入市場:后續如果市場有足夠的吸引力,就能快速進入專用型產品的定義、研發和推廣。
專用型的難點在于定位準確。因為最終芯片可能要經過一兩年才出來,到時預定的市場是否會發生變化?另外,IC廠家還需要跟系統廠商聯系得非常密切。
依托系統廠商
我國IC專家的共識是:中國本土芯片企業容易在三個方面取得突破,1.滿足中國標準的市場的興起:2.有大量需求的市場規模的快速形成:3.配合系統廠商的IC設計需求。這第三點,也正是上海海爾集成電路具有的先天優勢之――依托海爾集團。
上海海爾集成電路自2000年成立,首要的客戶就是海爾集團。海爾集團作為投資方之一,在產品研發方面給與了大力支持。憑借集團的支持和產品應用的成功,上海海爾集成電路打開了國內白電、小家電、電表、工業控制、汽車電子等MCU市場。目前,該公司欲把銷售渠道在國內廣泛鋪開。
8位單片機將與ARM Cortex-MO備領
現在一些MCU供應商推出了基于ARM Cortex-M0核的32位芯片,進軍傳統8位MCU市場。作為擁有自主知識產權的RISC架構廠商,上海海爾集成電路堅信8位MCU還是有自己的一片天地的。唐群分析道,之所以很多企業定位跟ARM綁定,原因是ARM陣營可以提供眾多的Library(庫)的支持:另外,很多廠商認為8位MCU的利潤越來越薄,因此往ARM轉,以此減少研發費用;不過,通用型Mo Mcu的RoM常規下要做得較大,而實際上有些應用不見得有這種需要:基于ARM核對MCU供應商來說也需要支付一定的版稅。因此,如同到目前為止,8位Mcu不能完全覆蓋4位單片機市場一樣,M0也不可能完全覆蓋8位單片機市場。
十年磨一劍
上海海爾集成電路是本土MCU廠商中,唯一一家做MCU產品及完整支持工具的專業企業,從仿真器、編程器、一直到軟件集成開發環境、c編譯器等。
【關鍵詞】ARM9 點陣顯示屏 SD卡
LED顯示屏是近幾年全球迅速發展起來的新型信息顯示媒體,它利用發光二極管構成的點陣模塊或像素組成大面積顯示屏幕,以可靠性高、使用壽命長、環境適應能力強、價格性能比高、使用成本低等特點,在短短的十來年中,迅速成長為平板顯示的主流產品,在信息顯示領域得到了廣泛的應用 本論文以ARM9高性能單片機來設計電子點陣顯示屏的硬件系統。
一、電子點陣顯示屏的硬件系統框圖如圖1所示
圖1 電子點陣顯示屏硬件系統框圖
二、采用16個LED8*8顯示屏,構成16行*64列點陣顯示
點陣顯示屏由16個8×8點陣LED顯示模塊。16片8×8點陣LED顯示模塊利用總線形組成一個16×64的LED點陣,用于同時顯示4個16×16點陣漢字或8個16×8點陣的字母p字符或數字。單元顯示屏可以接收來自控制器(主控制電路板)或上一級顯示單元模塊傳輸下來的數據信息和命令信息,并可將這些數據信息和命令信息不經任何變化地再傳送到下一級顯示模塊單元中,因此顯示板可擴展至更多的顯示單元,用于顯示更多的顯示內容。
三、顯示驅動電路
采用74HC138三-八譯碼器和74HC164移位寄存器。將從ARM里出來的列信號通過8個164級聯而成的64位的信號輸出端連接到16*64的點陣LED的輸入端,作為點陣的行驅動信號。通過164移位這64位的信號,來控制顯示內容的變化。再從ARM輸出三個信號分別輸入到2個級聯的74HC138譯碼器,然后輸出16位行信號,經過16個1K的電阻,再輸入到16個PNP(8550)三極管的B極來進行對行信號的放大,其中所有的三極管的E極相連接+5V的電源,所有的C極接16個470歐姆的電阻,得到的信號作為點陣LED 的行輸入信號。通過對138的三個輸入信號進行控制,改變行信號。由138和164的信號,控制二極管的亮、滅來顯示出所要求的字符、漢字。
行驅動電路:每個LED管亮需要7mA的電流,那么64個同時亮就需要448mA的電流,所以我們要對列進行驅動,我們采用晶體管8550對列信號進行放大。驅動電路如圖2所示:
圖2 點陣顯示屏驅動電路
列驅動電路:此電路是由集成電路74HC164構成的,它具有一個8位串入并出的移位寄存器,可以實現在顯示本行各列數據的同時,傳送下一行的列數據。如圖3所示:
圖3 列驅動電路
四、總結
本論文完成了LED點陣電子顯示屏的主要電路的設計。在系統設計中使用SD卡的擴展,是存儲容量大大的增大,實現了海量存儲,并具有掉電保護功能。通過和PC機的通訊,使顯示的信息能實時的更新。也實現了顯示屏的多字體顯示。整個系統簡潔,可靠性高,性能穩定。
參考文獻:
[1]胡漢才.單片機原理及其接口技術[M].北京:清華大學出版社,1995.
1、功能簡介
為減少竊電造成的經濟損失,特研制多用戶監控終端。多用戶監控終端可以同時監控16個單相居民用戶的用電情況,由計量模塊、采集模塊、控制模塊、顯示與銨鍵板、GSM模塊、箱體等組成。多用戶監控終端做成箱體結構,把計量模塊、采集模塊、繼電器控制模塊、主控單元和GSM通信單元全部裝進一個箱體中,每一路的計量模塊、采集模塊、控制模塊做到一個板子上(分控單元板),分控單元板與主控單元板采用插接方式進行連接。
2、整體功能實現
計量模塊與電能表同時接入用電線路,同時計量電能。計量模塊包括是一塊SH15單相電工表。脈沖采集模塊通過脈沖線與電能表相連接,通過計讀脈沖來計讀電能表的電量。計量模塊通過RS485接口與多用戶表通信,抄讀多用戶表的電量數據。抄讀數據時每15分鐘為一個時間段,把15分鐘內的脈沖電能數據與RS485電能數據進行比較如果誤差超出了指定范圍,則認為該表可能有問題。對于有問題的電能表可以讓主控單元通過GSM模塊把提示短信發送給相關電力員工手機,也可以根據設定對用戶進行斷電操作。
2.1分控單元設計
把每一路的計量模塊、控制模塊、脈沖采集模塊合成到一塊印制板上,即為分控單元。每個分控單元上有一個單獨的CPU進行獨立工作,獨立控制計量模塊、控制模塊和脈沖采集模塊。分控單元上的CPU暫時選用ST系列的ARM-Corte-M3單片機STM32F103CB。該型號ST系列的ARM單片機上至少有一路UART串口外設,用于RS485通信;至少有一個I2C總線接口,用于和主控單元通信;至少有兩路外部中斷,用于脈沖電能采集。同時分控單元上還要有一個功率繼電器用來切換用戶供電。
2.2主控單元設計
主控單元板上設有16路插槽,用于插接分控單元板,它們之間采用插接方式連接,主控單元與16路分控單元采用I2C總線通信。主控單元板由于工作任務較多,選用一款性能比較高的CPU,選用ARM-Core-M3系列的STM32F103VB,ARM Cortex系列單片機,其擁有72M的處理速度,四路UART串行通信口,還具有I2C,SPI總線控制器。主控單元與GSM模塊通信采用UART串行通信。
2.3GSM通信模塊
GSM通信模塊初步選用中興公司的MT3000通信模塊,其支持電話、短信、GPRS等通信功能,我們僅采用其中的短信通信功能。GSM模塊內部可以插一張手機SIM卡,擁有一個手機的全部功能。GSM模塊主要用于給電力員工手機發送提示短信,同時也可以讓員工手機給多用戶監控終端發送短信進行相關操作。
3、項目進度
3.1方案設計階段
主要產生文件:
1、主控板技術方案及功能明細。
2、分控板技術方案及功能明細。
3、多用戶監控終端實現功能明細。
3.2技術設計階段
3.2.1初步設計主要產生文件:
1、新購元器件清單,由供應部采購。
2、總控板、分控板、顯示板、計算機軟件之間的大概通信協議。
3、程序設計大綱。
3.2.2硬件設計:
1、繪制總控板、分控板、顯示板的原理圖。
2、繪制總控板、分控板、顯示板的PCB印制板圖。
3、繪制總控板、分控板、顯示板的焊裝圖和焊裝明細。
3.2.3電氣結構設計:編寫各模塊配線圖、編寫箱體總體配線圖、相關機箱和面板的設計。
3.2.4單片機程序設計:總控板源代碼、分控板源代碼、顯示板源代碼。
4、生產與裝配
中圖分類號:TN911-33文獻標識碼:A
文章編號:1004-373X(2010)18-0021-04
Design of Wireless Acquisition System for EEG Signal
XIE Hong, GE Qi-qi, YAO Nan, DONG Yao-hua
(Institute of Information Engineering, Shanghai Maritime University, Shanghai 200135, China)
Abstract: The design scheme of a wearable wireless acquisition system for EEG signal is introduced. A 16-bit MSP430F169 MCU is adopted in the system controller, in which 12-bit ADC is used to aquire the amplified and filtered EEG signal. The acqired EEG signal data of the 16 channels is writen to the register of CC2500 via SPI and then emitted. When the receiver obtains the data, the data from the receiver register of CC2500 is read out by MCU. Finally the data is sent to computer by UART through USB for display and further processing. This system has the advantage of low power consumption and is portable.Keywords: EEG; CC2500; UART; system controller
0 引 言
疲勞駕駛是造成很多惡通事故的主要因素,因此人們研究探索通過監測駕駛員的身體和生理狀態來識別駕駛員是否疲勞駕駛,如眼動信息、頭部運動狀態等。近年來,基于腦電信號識別駕駛員警覺度狀態已經成為一種研究熱點[1-2],而駕駛員可穿戴式腦電信號采集裝置是其必要的保障。腦電信號采集系統主要由/數轉換模塊、微控制器和數據傳輸等部分構成。其中微控制器的實現一般有4種方案:如文獻[3]中采用單片機把采集到的模擬腦電信號轉換為數字信號,并通過RS 232接口傳給計算機,該方法一般用于低端的不要求太高數據處理能力的采集中,成本較低;文獻[4]采用DSP數字信號處理芯片,將A/D轉換后的腦電信號進行DSP預處理(數字濾波),再通過PC的并口與DSP的HPI的口互聯,主要利用了其在數據分析中的快速處理能力;文獻[5]采用ARM作為處理器,ARM中移入了μC/OS-Ⅱ操作系統,并移植了Hanning濾波器以抑制50 Hz工頻干擾,利用ARM對信號進行處理與分析顯示;文獻[6]采用FPGA,利用其內部豐富的邏輯資源控制A/D采集、FIR濾波、液晶的顯示及USB與PC的數據傳輸。以上文獻中的方案都為有線傳輸,且DSP和FPGA芯片成本高功耗大。文獻[7]中采用藍牙無線傳輸模塊實現了可穿戴腦電信號采集與傳輸,藍牙技術目前成本較高,適宜近距離傳輸。
本文針對駕駛員可穿戴式腦電信號采集設備的應用背景,提出基于MSP430單片機和CC2500的腦電信號采集和無線數據傳輸系統設計方案,在保證系統性能的條件下最大限度地降低功耗。
1 系統硬件設計
1.1 系統框圖
該系統主要由3部分組成:數據采集、數據傳輸和數據處理服務器。其中數據采集與預處理采用業界公認的微功耗控制器MSP430系列單片機;數據傳輸采用無線收發模塊CC2500,其由MSP430單片機通過SPI口控制其初始化和數據的發送與接收;接收的腦電數據由單片機通過UART轉USB芯片傳輸給數據處理服務器做上層處理。具體系統組成如圖1所示。
1.2 放大濾波模塊
本文的腦電信號放大器原理圖如圖2所示。
本文中的前置放大器采用BB公司的INA118,這是一款專門用于生物信號采集用的集成儀表放大器,具有很高的精度;高通濾波采用傳統的阻容濾波,截止頻率為0.16 Hz;后級放大電路中的放大器采用通用集成運算放大器AD8606;低通濾波采用八階Bessel開關電容濾波芯片MAX7405,截止頻率設為500 Hz。系統采用3 V的單電源供電,由于極化電壓的存在,每級放大倍數不能太高,且后級放大分為相同的兩級放大,總放大倍數為38×20×20,可以將微伏級的腦電信號放大到伏級,滿足后級A/D采樣中對輸入信號幅度的要求。
圖1 系統框圖
圖2 腦電放大器原理圖
1.3 單片機控制系統
該系統采用的控制器是德州儀器公司推出的低功耗、高集成度的16位單片機MSP430F169[8-9],供電電壓范圍為1.8~3.6 V。MSP430F169具有豐富的外設,片內包括3個時鐘信號,即1個高頻時鐘、1個低頻時鐘和1個DCO,靈活地使用系統時鐘可以大大降低系統的功耗,方便系統的設計。此外還有2 KB的RAM、60 KB的FLASH、8通道采樣率為200 KS/s的12位A/D轉換器、3個內部DMA控制器、硬件乘法器、兩個帶有捕獲計時寄存器的16位定時器、48個可復用I/O引腳和兩個通用同步/異步串行通訊口。芯片內帶有JTAG調試接口,無需仿真器和編程器,方便設計人員的開發調試。單片機的A/D采樣部分使用3片模擬開關4053將8路擴為16路,原理圖如圖3所示。腦電信號幅度在-100~+100 μV之間,MSP430F169單片機的A/D轉換器為12位,考慮到A/D轉換后┝轎華會有不穩定的因素,系統的精確度仍能達到0.2 μV,這足以滿足后期的警覺度特征提取。
1.4 無線傳輸模塊
無線模塊采用TI公司的CC2500[10-11]芯片,它是┮豢瞠超低功耗、低成本的無線收發模塊,工作在2.4 GHz全球開放ISM(工業、科學、醫學)頻段,滿足多信道通信和跳頻通信需要,支持多種調制方式,包括FSK,GFSK,OOK和MSK,最高傳輸速率可達500 Kb/s。工作電壓為1.9~3.6 V(與430單片機通過SPI口相連時無需電平轉換),元件極少,內置硬件CRC和點對多點通信地址控制。主要的工作參數大都可以由設計者通過芯片狀態字自行配置,沒有復雜的通信協議,同種產品間可自由通信。所以,CC2500是┮豢瞠低成本射頻系統級芯片,具有體積小、功耗少、元件少等優點。
圖3 A/D部分連接原理圖
CC2500模塊通過標準的SPI接口與MSP430單片機相連;SI,SO為CC2500的數據輸入/輸出端口;SCLK作為數據傳輸的同步時鐘;CSn為片選信號,低電平芯片工作;還有2個通用輸出口GDO0和GDO2用來輔助CC2500實現無線通信功能。CC2500模塊部分電路如圖4所示。
圖4 CC2500模塊部分
腦電信號頻率范圍在0.5~100 Hz間,設計采樣頻率為500 Hz,共16通道,則要求傳輸速率:16×500×16 b/s=128 Kb/s,遠小于CC2500最高傳輸速率500 Kb/s。
1.5 USB傳輸模塊
USB接口芯片采用的是TI公司的TUSB3410[12-13],包括通過USB總線與主機通信所需要的全部邏輯電路。內部包含一個8052微控制器、16 KB RAM、I2C引導加載程序的10 KB ROM,4個通用I/O口,具有USB總線供電和自帶電源2種┕┑紿模式。該芯片符合通用串行總線USB 2.0規范,支持12 Mb/s的數據速率,是一款高性能的USB接口器件。TUSB3410與MSP430F169的連接原理圖如圖5所示。
圖5 TUSB3410與MSP430F169連接電路
本文使用USB總線供電模式,TUSB3410(U2)的USB數據信號經雙路USB端口瞬態抵制器SN75240(U3)后連接到標準的USB B型口,以此增強系統ESD抗干擾能力;USB總線提供的5 V電壓經TPS77301(U4)3.6 V LDO穩壓后為系統供電。
2 系統軟件設計
該系統中,程序設計包括單片機程序、USB驅動程序和PC機應用程序。考慮到該腦電信號采集系統的處理器負擔不重,主要就是A/D采樣、發送端和接收端程序及與上位機的通信,兼顧程序的易讀性、可移植性,采用C語言作為編程語言。開發軟件使用IAR公司的集成開發環境IAR Embedded Workbench嵌入式工作臺以及調試器C-SPY,使用非常方便[14-15]。單片機程序流程如圖6所示。
圖6 單片機程序流程圖
MSP430中ADC12模塊采用序列通道單次轉換模式,通過定時器A來控制采集數據的時間間隔。通過對轉換序列中最后一個通道對應的中斷允許位置位,序列通道完成一次轉換時將自動產生中斷標志,從而進入中斷服務子程序,以此來完成多通道的信號采集。
在發送端,單片機通過SPI口來初始化CC2500的發射頻率、波段、發射功率、地址碼、地址位數、數據位數及收發模式等。在一個采用周期內,當ADC采集完16路腦電信號,單片機將ADC采集到的數據通過SPI寫入CC2500的發射寄存器,開啟CC2500的發射模式,CC2500將自動給要發射的數據加上前導碼和校驗位,并和地址碼一起發送出去,而后單片機進入下一個采樣周期。
在接收端,單片機同樣配置CC2500,然后開啟CC2500為接收狀態,一旦接收到數據包,GDO0就產生一個中斷給單片機,單片機便通過SPI口讀取CC2500接收寄存器的數據,并通過UART將數據傳到上位機電腦,然后等待接收下一組數據。
USB設備驅動程序負責建立上位機電腦與接收端單片機的聯系,將從單片機UART口得到的數據通過USB接口傳到電腦上。USB的驅動程序可在網上()下載到。
上位機電腦的應用程序是在VC 6.0[16]環境下開發的,主要完成對采集的腦電數據顯示,也可以為以后是數據分析處理做準備。
3 結 語
本文以低功耗、低成本的CC2500射頻收發芯片為傳輸模塊,結合低功耗、高集成度的MSP430F169單片機作為控制器,設計了一套可穿戴式、低功耗、多通道的實時腦電信號無線采集系統,采集的精度、速度及系統的可靠性能夠滿足要求。
參考文獻
[1]LIN Chin-teng. Development of wireless brain computer interface with embedded multitask scheduling and its application on real-time driver′s drowsiness detection and warning[J]. IEEE Transactions on Biomedical Engineering, 2008, 55(5): 1582-1591.
[2]傅佳偉.基于EEG的警覺度分析與估計研究綜述[J].中國生物醫學工程學報,2009,28(4):589-596.
[3]李志偉.數字腦電儀信號采集子系統的設計與實現[D].蘇州:蘇州大學,2005.
[4]江洪.基于DSP的腦電信號采集系統的設計[D].合肥:安徽大學,2005.
[5]鐘文華.基于ARM的腦電信號采集系統[J].國外電子元器件,2008(2):13-15.
[6]侯俊欽.基于FPGA的腦電信號采集系統的設計[D].合肥:安徽大學,2007.
[7]GAU Shir-cheng. Development of dual-core processor based real-time wireless embedded brain signal acquisition/processing system and its application on driver′s drowsiness estimation[D]. 新竹:國立交通大學,2005.
[8]胡大可.MSP430系列16位單片機原理與應用[M].北京:北京航空航天大學出版社,2000.
[9]胡大可.MSP430系列單片機C語言程序設計與開發[M].北京:北京航空航天大學出版社,2003.
[10]Texas Instsuments. Low-cost low-power 2.4 GHz RF transceiver[EB/OL].[2009-05-19]..cn.
[11]Texas Instsuments. CC2500 Errata Notes[EB/OL].[2006-05-23]..cn.
[12]Texas Instsuments. MSP430 USB connectivity using TUSB3410[M]. USA: Texas Instruments, 2006.
[13]Texas Instsuments. TUSB3410 USB to serial port controller data manual[M]. USA: Texas Instruments, 2002.
[14]魏小龍.MSP430系列單片機接口技術及系統設計實例[M].北京:北京航空航天大學出版社,2002.
關鍵詞:嵌入式系統 模擬信號 數字信號 特殊信號
中圖分類號:TN95 文獻標識碼:A 文章編號:1672-3791(2013)03(b)-0037-02
數據采集系統的歷史較為悠久,近年來,隨著電子工業的發展,便攜式數據采集系統產品層出不窮。根據不同的采集信號,有不同的設計產品。雷達接口信號采集系統由于待采集信號的復雜性和未知性,其設計更為復雜。
1 數據采集產品現狀
一般數據采集系統會按照其總線的不同而分類。常用的總線有以下幾種:ISA、PCI、USB、PC104、CAN。
其中USB總線的產品憑借其極高的傳輸速率和便攜性,在市場上占有重要的地位。
USB總線便攜式數據采集系統產品的設計原理一般比較簡單,一種比較典型的設計是,設計者使用Cypress公司的USB2.0控制器CY7C68013來控制Maxim公司的MAX1312采樣數模轉換芯片。這樣把由MAX1312采集的數據直接通過USB控制器向上位機發送。設計框圖如圖1所示。
該數據采集系統只能實現較簡單的數據采集功能,不具備功能擴展性。
2 基于嵌入式系統的數據采集系統現狀
近年來,不少人投入到基于嵌入式系統的數據采集系統的研究開發中,開發的成果也相當豐富。
按照是否使用ARM將基于嵌入式開發平臺的數據采集系統分為非基于ARM和基于ARM兩類。
2.1 非基于ARM嵌入式平臺的數據采集系統
非ARM嵌入式平臺的數據采集系統一般都采用單片機作為其控制核心。結構一般包括選路控制器、AD轉換、單片機等幾個部分。
不使用ARM的數據采集系統,其功能受到單片機功能的限制,采樣速率有限,存儲空間較小,不能滿足高速大容量采樣的需求,更不可能在儀器上運行分析軟件,從而擺脫電腦獨立工作。某些基于單片機的數據采集系統也只能完成最簡單的數據采集功能,而沒有進行特殊應用的擴展,其功能甚至不如某些公司非嵌入式系統的USB采集卡。
2.2 基于ARM的嵌入式平臺的數據采集系統
ARM系列微處理器功耗低、性能優于單片機,是便攜式設備理想的選擇,所以ARM越來越多的被應用到便攜式數據采集系統。
由于ARM功能強大,能支持一些高級的應用,所以很多情況下,基于ARM的嵌入式系統的數據采集系統具有一定的針對性。它們往往是針對一種專門的對象,提供相關的應用功能。
目前基于ARM的嵌入式系統在數據采集中已經有比較多的應用。每種應用都有它們自己的針對性,并根據對象的不同要求進行了不同的設計。基于ARM的嵌入式系統,是基本原理相似,實質卻是天壤之別。
3 基于ARM嵌入式平臺的雷達數據采集系統
該采集系統分為便攜式數據采集系統,數據管理及分析系統兩大部分。便攜式數據采集系統主要完成數據的采集和數據的前期處理,獲得數據的特征信息,并能回顯數據。數據管理及分析系統部署于上位機,用于對數據的存儲管理和對比分析。如圖2所示
采集對象分為三種類型:模擬信號、數字信號和特殊信號。由各自獨立的采集電路實現。模擬信號通過量程自動控制及AD轉換電路轉換為數字信號,再由FPGA進行采集處理;數字信號則經過緩沖驅動后直接由FPGA處理;特殊信號經過幅值控制和適當的反向后,交由FPGA處理。
倍程自動控制通過壓控繼電器來實現,將輸入電壓按比例衰減到合適的范圍,然后和基準電壓比較確定輸入電壓的大小范圍,根據這個范圍,決定繼電器的開合,最終將輸入電壓降低到-10 V~+10 V的范圍,并記錄衰減的倍數。
AD轉換電路采用頻率500 Ksps的AD采集芯片AD7665,實現-10 V~+10 V的模擬信號到數字信號的轉換。
若待采集的數字信號為TTL信號,而FPGA的輸入信號是CMOS信號,則信號進入FPGA前需要先經過一級緩沖驅動芯片處理。
特殊信號為脈寬僅有0.2 us的信號,使用簡單運算放大穩壓電路就可以實現穩壓和反向的功能。不過為了保證信號不失真,需要采用高速運放。
FPGA則接收上面各種信號,并根據控制指令,將信號存儲于外接的大容量SRAM中。為了實現這些功能,需要編寫一套FPGA程序,實現一個控制系統的功能。該程序包括:采集電路的數字部分、系統時鐘、AD采集控制、特殊信號采集控制、數字信號采集控制、SRAM控制、控制系統核心、嵌入式系統接口等部分。如圖3所示
嵌入式系統部分采用比較小巧的ARM9系列的嵌入式平臺作為硬件開發平臺,從而使工作組要集中在軟件開發上。開發系統選用了開源的操作系統Linux,從而增加開發的可控性。圖形開發環境使用了嵌入式QT,嵌入式QT作為一款開源的圖形開發平臺有著廣泛的應用。與FPGA的通訊使用了串口,FPGA端的串口的波特率基本不受太大的限制,串口速度的主要限制在嵌入式系統端。而S3C2410可以達到460800的串口波特率。嵌入式系統最終將數據存儲于SD卡中,便于轉存到PC機。
PC機軟件系統屬于Windows操作系統,所以采用了MFC作為開發平臺。軟件系統首先需要將SD卡中的數據轉存到PC機的指定目錄便于管理。軟件系統提供數據顯示、比較功能,為后續分析提供基礎。
參考文獻
[1] 劉滿倉,雷衛寧,王春成.基于ARM的高精度數據采集系統設計[J].現代電子技術,2012(8).
[2] 呂實誠,宋曉波,王晶.基于網絡的高精度數據采集卡設計[J].哈爾濱理工大學學報,2012(2).
【關鍵詞】STM32;PLC;嵌入式系統;真空過濾機
【Abstract】This paper introduces a STM32 MCU with vacuum belt filter control system hardware design, technical features and technical advantages of STM32 MCU, vacuum belt filter working principle and STM32 microcontroller in the filter working process is implemented by the traditional manual operation into the automatic one button operation.
【Key words】STM32; PLC; Embedded system; Vacuum belt filter
0 引言
在礦山、冶金、化工等工業生產中,真空帶式過濾機是一種大型、新穎、高效、節能的新型過濾設備,從而實現液體、固體的分離。現行的過濾機工作大多采用的是機械式和常規的電氣按鈕控制,導致控制裝置體積大、控制面板繁雜、成本高、自動化程度低,工人不易操作。基于STM32單片機技術的真空帶式過濾機控制系統能通過STM32單片機控制中間繼電器的啟停,進而控制較大功率的接觸器,實現電機、氣動電磁閥等啟停與開關。同時,可通過開始與停止按鈕實現一鍵式操作。
1 STM32單片機技術
STM32單片機采用的是基于ARMV7架構的Correx-M3新型芯片內核。Cortex-M3是一個32位的內核,是市場上現有的體積最小、能耗最低、最節能的ARM處理器。STM32單片機采用Correx-M3內核大大簡化了編程的復雜性,集高性能、低功耗、低成本于一體。它是為在微控制系統、工業控制系統、汽車車身系統和無線網絡等對功耗和成本要求高的嵌入式應用領域實現高系統性能而設計的。Correx-M3采用了哈弗結構,擁有獨立的指令總線和數據總線,可以讓取指與數據訪問并行不悖。
1.1 工作原理
真空帶式過濾機結構示意圖如圖1所示。真空帶式過濾機啟動運行時,料漿溶液均勻分布在濾布上,環形橡膠帶E由電機經減速拖動連續運行,濾布鋪敷在膠帶上與膠帶同步運行。膠帶與真空室滑動接觸(真空室與膠帶間有環形磨擦帶并通入水形成水密封),當真空室接通真空系統時,在膠帶上形成真空抽濾區;料漿由布料器均勻分布在濾布上,在真空的作用下,濾液穿過濾布經膠帶上的橫溝槽匯總并由小孔進入真空室,固體顆粒被截留而形成濾餅;進入真空的液體經氣水分離器排出。隨著橡膠帶移動已形成的濾餅依次進入濾餅洗滌區、吸干區;最后濾布與膠帶分開,在卸濾餅輥處將濾餅卸出;卸除濾餅的濾布經清洗裝置清洗后獲得再生。
1.2 真空帶式過濾機控制要求
1)啟動要求。
啟動過濾機空壓機啟動主電機啟動真空泵啟動密封水打開淋洗液開關
2)停機要求。
關閉料漿控制閥,待過濾至剩余的濾餅卸凈為止。濾餅卸凈后,將濾帶清洗1~2周,依次關閉淋洗液閥門主電機開關真空泵開關主機電源開關總氣源開關空壓機開關打開氣泵放水閥。
3)濾布運行的速度要求。
根據濾漿情況可以通過STM32單片機輸出模擬信號控制PLC任意設定。
4)托盤由極限位置迅速返回原位到再次工作需要延時數秒,以便濾液罐中的濾液排盡。
5)在托盤吸緊濾布運行的同時,洗滌液打開。
1.3 主控制模塊電路設計
由于STM32F103C8T6單片機,工作頻率為72MHz,內置高速存儲器(高達128K字節的閃存和20K字節的SRAM),豐富的增強I/O端口和聯接到兩條APB總線的外設。包含2個12位的ADC、3個通用16位定時器和一個PWM定時器,還包含標準和先進的通信接口:多達2個I2C和SPI、3個USART、一個USB和一個CAN。因此,可選擇這種型號的STM32單片機。
1.4 I/0口分配及自動控制功能
控制系統I/O口分配如表1所示。當按下啟動按鈕時,0001繼電器動作,0100接觸器閉合,接通主機電源。0002、0003、0004繼電器相繼工作,0200、0300、0400接觸器依次閉合,使環形橡膠帶運行,濾布鋪敷在膠帶上與之同步運行,真空泵運行。再依次由0005、0006繼電器打開密封閥、淋洗液閥。最后由繼電器0007打開料漿控制閥,過濾機正常運行。當按下停止按鈕時,控制系統根據過濾機停機流程(如2.2節中真空過濾機停機所述),相應繼電器、接觸器相繼動作,完成停機任務。
2 結語
利用STM32單片機對真空帶式過濾機實現工作過程全自動控制,不僅能使過濾機的故障率大大降低,運轉周期延長,生產效率和運轉率明顯提高;同時還能節省維檢費用,保證系統的運行更加可靠,提高了控制精度。
【參考文獻】
[1]Joseph Yiu. ARM Cortex-M3 權威指南[M].宋巖,譯.北京:北京航空航天大學出版社,2011.
[2]孫波.PCI總線與CAN總線通訊研究[J].甘肅科技縱橫,2009,38(6):18-20.
【關鍵詞】超聲波傳感器 C語言 51單片機 飛思卡爾
一、選題背景
隨著經濟的飛速發展,司家車擁有量激增,雖然司機都能掌握基本的開車技術,但在面對擁擠的道路側位停車時,許多司機尤其是新手或者女性遇到很大困難,經常會發生車體蹭傷的事故,甚至會危及到司機與行人的生命安全。
目前,一些大型汽車公司已經陸續開發一些自動停車的系統,有些已經投入生產,但是因為系統自身還有些局限性,同時價格昂貴,往往令消費者望而卻步。市場需要一套完善且擁有自主知識產權的自動泊車系統。
二、問題研究
經過詢問駕校師傅,我的了解了司機停車的過程。一般來說,司機停車分為四個步驟,首先緩慢行駛觀察是否有足夠空間容納車體,可以停車;確定車位后,停車方向盤右打死,倒車至從后視鏡看到車位的邊緣;隨后方向盤左打死繼續倒車至車位后邊緣;停進車位后,方向盤打正。
我們對該過程進行分析,直接采用實體轎車進行實驗是沒必要的,只要選擇一款可以前進后退,左右轉彎,反應靈敏,價格實惠的模型車就能達到我們實驗的要求。飛思卡爾智能車競賽用車機械結構穩定,造型成熟,經過多次分析,本文選擇了飛思卡爾智能車B車作為實驗用車。
三、硬件設計
車體只是一架空殼,最重要的是我們對車體的控制。硬件設計主要是傳感器的設計,控制中心的選擇,驅動電路的設計,當然還包括供電與穩壓等基本單元。
(一)傳感器。本系統對傳感器要求較高,需要良好的動態性能,精度和靈敏度,達到快速鑒別車位的目的。本文主要考慮了激光傳感、紅外傳感、超聲波傳感三種方式。其中激光傳感精度較高但是造價昂貴違背了我們降低成本的意愿,紅外傳感雖然價格低廉但是在實際應用中可能對兒童或者寵物的眼睛造成威脅,而超聲波傳感同樣具有價格實惠的優點,同時精度高,反應速度靈敏。本系統選擇超聲波傳感器。
(二)控制單元。模型車載系統的控制一般采用單片技術,目前主流的有430單片機、51單片機、FPGA控制單元、ARM控制器等。430單片機反應靈敏,功能強大,缺點穩定性差禁不住碰撞;FPGA控制反應速度極快,缺點是不適合完成復雜控制過程;ARM控制器功能最強大,包含豐富的底層庫,能完成復雜的算法,同時對程序員的要求很高;51單片機功能較430弱一些,但是穩定性極佳,抗摔抗碰撞。綜合考慮,本系統選擇簡單可靠的51單片機。
(三)驅動模塊。本系統需要車輪完成前行,后行,左右轉的功能,采用舵機控制轉向,直流電機作為動力,驅動部分需要輸出兩路占空比不同的信號,一路控制舵機轉向,一路控制電機前進后退以及車輛轉動速度。B車模型的舵機內置放大電路,直接從單片機輸出即可;直流電機則需要驅動部分,將單片機輸出信號變換輸出大功率信號驅動電機動作。參考飛思卡爾競賽電路,我們選擇英飛凌公司的驅動芯片BTS7960B。
四、軟件設計
硬件電路和軟件程序是密不可分的,在硬件設計基本定型之后,就是軟件程序編寫環節。本系統程序采用主程序子程序嵌套的形式,層次分明,思路清晰,同樣有利于分部調試。
(一)超聲波子程序。判斷是否可以停車時第一步,該部分,本文采用51單片機自帶的定時器與中斷,向超聲波傳感器模塊發送20的高電平信號,計時器開始計時,超聲波模塊自動發射幾組超聲波,超聲波遇到障礙物會反射回來,當超聲波傳感器模塊接受到反射回來的超聲波時,計入中斷,得到從發射到回收的時間,計算得到障礙物距離。得到安裝在車體右側的幾個超聲波傳感器的數據,經過計算分析區域是否達到可以停車的標準。
(二)舵機控制子程序。舵機控制部分是單純的超聲波輸出占空比信號,本文中占空比周期20ms,當高電平時間為1.5時,舵機位于中間位置。占空比調小時,舵機左轉,占空比調大,舵機右轉。
(三)電機驅動子程序。本文硬件采用的板橋驅動方式,輸出兩路電平,兩路的高低決定了電機的轉向,占空比決定了直流電機的轉速。
(四)主程序。將各子程序按照本文設計組合起來,就達到了控制車體自動泊車的目的。
五、優化設計
考慮遇到突發緊急情況,本系統添加了緊急情況切換人為控制的功能,當遇到緊急情況,司機可以掌握車子的控制權,完成緊急剎車,保證了司機的人身安全
六、研究成果
本系統在實驗中能夠準確分辨空閑地帶是否可以停車,流暢穩定地將車停進預定停車區域,基本達到自動泊車的實驗目標。將本系統稍作改進就可以應用在實體轎車,當然精度與參數還需要進一步的調試。
參考文獻:
[1]郭天祥.51單片機.哈爾濱工業大學出版社,2006
1硬件系統設計
系統中心模塊:系統中心模塊主要分為3個部分:MCU最小系統、藍牙模塊、SIM908模塊。系統中心模塊框圖如圖2所示:
1.1STC15FK60S2處理器在系統中心模塊中,STC15F60S2處理器起著很重要的作用,STC15F60S2是STC公司生產的單時鐘/機器周期(1T)的單片機,是高速/高可靠/低功耗/超強抗干擾的新一代8051單片機,其性能遠高于傳統的8051,其最高運行頻率可達到35MHZ,接口資源豐富。選擇STC15FK60S2處理器,通過串行接口USART0與藍牙模塊進行數據通信,構建系統中心模塊與智能手機AndriodApp進行數據交互功能。同樣通過串行接口USART1與SIM908模塊進行數據通信,完成數據的接受和發送。其具體完成的功能為:負責接受SIM908模塊接收到的GPS數據進行解析和處理并進一步地將這些處理好的數據通過SIM908模塊的GSM網絡發送到遠程中心服務器;負責將藍牙模塊接收到的數據保存到MCU的EEPROM,并讀取MCU保存EEPROM的數據信息發送到智能手機中,起到存儲、中轉、數據處理等功能。
1.2SIM908模塊SIM908是一款包含了GPS導航技術的四頻GSM/GPRS模塊的芯片。細小緊湊的模塊尺度將GPRS和GPS整合在一個單獨的SMT封裝中,為客戶實現內嵌GPS和GPRS的應用節省了大量的費用和開發時間。因此通過SIM908模塊的GPS來獲取運輸車輛的經緯度等信息,并利用它集成的GSM功能將這些信息傳輸到遠程中心服務器;所以有GPS和GSM信號覆蓋的任何地方無論何時都能實現不同資源的無縫追蹤和共享。SIM908模塊與遠程中心服務器通信是通過處理器STC15F2K60S2單片機應用底層軟件進行相關串口編程,其中就涉及重要的AT指令,在建立TCP/IP連接前,建議先依次執行多條AT指令。比如AT+CSTT=“cmnet”設置前,請先確GPRS網絡已經附著,否則會返回error提示;AT+CIICR激活移動場景這里需要說明一下,模塊開機后會自動附著GPRS網絡,只要SIM卡有GPRS業務,真正應用必需要激活移動場景(PPP撥號過程中得PDP上下文激活),獲得本地IP才可以應用數據業務;AT+CIPSTART建立TCP(UDP)/IP連接;因為SIM908模塊的串口電平不能直接連接5V的單片機STC15F2K60S2,因此必須通過三極管或者電平轉換芯片進行兼容才能進行串口通信,如SIM908模塊與MCU串口連接圖3所示:
1.3藍牙模塊藍牙模塊由BRF6100、DSP、液晶、音頻AD/DA、Flash組成,其中主要核心控制單元是DSP;音頻(AD)的作用是將采集的模擬語音信號轉化成數字語音信號,音頻(DA)將數字語音信號轉換成模擬語音信號,輸出到音箱或者耳機。音頻DA和AD的后端和前端都會放大或濾波電路,一般而言,音頻DA和AD集成在一塊芯片上,本系統使用的是TI公司的TLV320AIC10,采樣設置的頻率為8kHz,鍵盤的作用是控制和輸入,液晶顯示器的作用是顯示各種信息;DSP所需要的程序是用Flash進行保存的,供DSP在上電時進行調用;DSP的仿真接口是JTAG,HPI口是DSP來提供,計算機連接到該接口,可以下載計算機服務器中的文件并由DA來進行播放,同時也能將數字語音信號傳送到計算機中進行保存和處理。ARM主要用來控制設備,DSP用來對數據進行處理;模塊DSP中采用的是OMAP5910,嵌入式DSP是由TI公司的DSP提供的,具有兩個處理器的結構,片內集成了DSP和ARM處理器。OMAP5910中的DSP是基于TMS320C55X核的處理器,提供一兩個成累加單元,一個16位的算術邏輯單元和一個40位的算術邏輯單元,DSP采用的是雙ALU結構,大部分指令可以同時運行,其功耗更低,并且工作頻率達到了150MHz。ARM和DSP可以相互協同工作,通過片中的MMU控制,內存和設備可以得到共享,OMAP5910可以用在圖像處理、視頻、和移動通信,圖像加速器、數據處理和音頻處理、圖形。系統中使用的OMAP5910,目前是用于個人移動通信。ARM在OMAP5910中是基于ARM9核的TI925T處理器,包括一個協處理器,指令的長度是32位或16位。一般而言多字節參數數據最右邊的字節是最先傳送的,各數據的分組是通過Endian格式進行傳輸。HCI的傳輸層中可以傳送四種分組:ACL、SCO數據、event以及數據命令(command)。各分組的區別是分組指示符(PacketIndicator)。ROK101008模塊中的HCI傳輸層的事件分組格式、命令、與藍牙標準所描述的是完全一致的。值得注意的是:HCIACL數據分組里傳輸的數據格式必須是L2CAP,例如ACL數據分組020120050002000000CC:表示HCIACL數據分組的是HCI分組符;當前所用到連接的句柄是“01”;PB、BC標志以和句柄高位為“20”;HCI數據長度即真實長度為0005用“0500”來表示;L2CAP報頭是“01000000”,我們實際所傳輸的數據(數據長度和信道ID)是“AA”。ACL數據傳輸過程是由完整的主、從單片機通過藍牙模塊進行的。建立邏輯連接是在傳送數據之前,先發出HCI命令的是主、從機,等主、從的藍牙模塊準備好了以后,發起查詢的是主機模塊,響應的是從機模塊,通過它們就能建立一個用于異步數據傳輸的邏輯鏈路。相應的命令狀態事件的返回是每條命令正確執行后都有的。MCU單片機發出命令后,判斷該命令是否完成是在通過接收返回事件的基礎上進行的。首先主機發出HCIInquiry查詢命令,會收到該模組的響應從機數事件包、從機模塊的地址號包以及命令狀態事件包。藍牙設備地址被讀取后,兩機開始相互建立連接。該模塊的底層傳輸協議完成從機藍牙模塊中的地址號響應,這個響應是不需要單片機的參與來完成的。主機發出建立HCICreateConnection連接命令之后將收到從模塊發來的ConnectionComplete連接完成事件包和本模塊返回的命令狀態事件包。從模塊也會收到主模塊發來的ConnectionComplete連接完成事件。主從機之間可以按前述數據包格式發送數據,因為此時主、從之間已成功建立了一條ACL傳輸鏈路。
2遠程中心監控程序設計
主要利用2003開發軟件編寫遠程中心監控程序。首先開放服務端口允許客戶端訪問該端口,接著使用相應的通信協議與客戶端進行遠程通信。遠程中心監控程序主要進行系統中心模塊的設置,數據接收,命令發送和歷史數據查詢等。其程序結構如圖4所示。監控程序通過發送命令獲取運輸車輛出站時間、到站時間、車牌號、運輸軌跡等信息,并將這些信息及時存儲到數據庫。
3結語
基于藍牙技術和SIM908模塊的水泥混凝土車輛運輸管理系統,經實驗驗證,水泥混凝土車輛運輸管理效率大大提升,設計運行穩定可靠。遠程中心監控軟件合理展現運輸車輛軌跡、進站時間、到站時間等信息,便于掌握運輸車輛動態信息。
作者:譚林逸涂治軍廖幸單位:湖南省交通科學研究院