張盼盼,張團善,付道義
(西安工程大學(xué) 陜西 西安 710048)
相比于傳統(tǒng)的CPU與外圍設(shè)備一體的電路,采用工控板的設(shè)計方法具有易于移植、方便重復(fù)應(yīng)用的特點。STM32工控板是一款極高性價比、尺寸極為緊湊的嵌入式控制模塊。產(chǎn)品尺寸比一張名片還小卻實現(xiàn)了幾乎所有的工業(yè)計算機所需要的功能,可廣泛應(yīng)用于科研、軍工、電力、工控、車載、通手持設(shè)備、醫(yī)療器械、教學(xué)等嵌入式領(lǐng)域。
STM32工控板載入嵌入式高性能32位處理器,該處理器是以Cortex-M3為內(nèi)核,該內(nèi)核采用了哈佛結(jié)構(gòu),擁有獨立的指令總線和數(shù)據(jù)總線,可以讓取指與數(shù)據(jù)訪問并行不悖[1]。STM32工控板設(shè)計要求包括可以直接驅(qū)動7寸彩屏、帶有以太網(wǎng)模塊[2]和豐富的外接接口用于控制電機等外設(shè)。
系統(tǒng)框圖如圖1所示。
圖1 硬件系統(tǒng)框圖Fig.1 Structure diagram of the hardware system
該系統(tǒng)采用STM32F103VE芯片,此芯片是STM32的增強型系列,如圖2所示。內(nèi)核為ARM 32位的CortexTM-M3 CPU最高72 MHz工作頻率,在存儲器的0等待周期訪問時可達1.25 DMips/MHz(Dhrystone 2.1),可實現(xiàn)單周期乘法和硬件除法。
圖2 主控芯片電路Fig.2 Circuit of master chip
該芯片帶512K字節(jié)的閃存程序存儲器,高達64k字節(jié)的SRAM,帶有4個片選的靜態(tài)存儲器控制器。支持CF卡、SRAM、PSRAM、NOR和NAND存儲器,具有并行LCD接口,兼容8080/6800模式。
該工控板具有豐富的外接通信接口,包含多達2個I2C接口(支持SMBus/PMBus)、多達5個USART接口(支持ISO7816,LIN,IrDA接口和調(diào)制解調(diào)控制)、多達3個SPI接口(18M位/秒),2個可復(fù)用為I2S接口、CAN接口(2.0B主動)、USB2.0全速接口、SDIO接口。
選擇STM32芯片的另一個原因在于,它有多達11個定時器。4個16位定時器,每個定時器有多達4個用于輸入捕獲/輸出比較/PWM或脈沖計數(shù)的通道和增量編碼器輸入。2個16位帶死區(qū)控制和緊急剎車,用于電機控制的PWM高級控制定時器。2個看門狗定時器(獨立的和窗口型的)。系統(tǒng)時間定時器:24位自減型計數(shù)器。2個16位基本定時器用于驅(qū)動DAC[3]。主芯片電路如圖2所示。
采用STM32+SSD1963控制7寸屏的顯示,雖然屏的控制器可以用CPLD或者FPGA來實現(xiàn),但是考慮到此工控板的尺寸大小和穩(wěn)定性,我們放棄自己設(shè)計顯示屏控制器的想法,而是采用集成度很高的SSD1963芯片,如圖3所示。
圖3 7寸屏驅(qū)動電路Fig.3 Circuit of 7-inch screen driver
考慮到現(xiàn)階段無線網(wǎng)絡(luò)的廣泛應(yīng)用,以太網(wǎng)是目前全球使用最廣泛的局域網(wǎng)技術(shù),出色的性價比、靈活性和互操作性是其優(yōu)勢。在過去20年里,其標(biāo)準(zhǔn)一直隨著網(wǎng)絡(luò)的需求不斷改進。作為IP網(wǎng)絡(luò)的一種極具吸引力的解決方案,以太網(wǎng)具有下列關(guān)鍵特性:可擴充性;靈活的部署距離,支持從短程局域網(wǎng)(大約100 m)到長距離城域網(wǎng)(40 km以上)的各種網(wǎng)絡(luò)應(yīng)用;成本低;靈活性和互操作性;易于使用和管理。以太網(wǎng)電路連接方式如圖4所示。
圖4 以太網(wǎng)驅(qū)動電路Fig.4 Circuit of Ethernet driver
差分電路[4]是具有這樣一種功能的電路。該電路的輸入端是兩個信號的輸入,這兩個信號的差值,為電路有效輸入信號,電路的輸出是對這兩個輸入信號之差的放大。設(shè)想這樣一種情景,如果存在干擾信號,會對兩個輸入信號產(chǎn)生相同的干擾,通過二者之差,干擾信號的有效輸入為零,這就達到了抗共模干擾的目的。該方案采用THC63LVDM83R芯片作為差分電路主芯片。如圖5所示。
圖5 差分電路Fig.5 Differential circuit
為了檢測方案的可行性和工控板的完整性,用一個流水燈例程進行測試。作為經(jīng)典的入門實驗,非流水燈莫屬。工控板本身是不帶LED顯示燈的,我們利用手邊的開發(fā)板上的4個LED燈進行實驗。它們分別為DS1、DS2、DS3、DS4。實驗的預(yù)期目的是實現(xiàn)LED燈的交替閃爍。
流水燈的關(guān)鍵實際是如何控制STM32[5]的處理器的GPIO接口,作為IO口,輸出指定的電平信號。
STM32的IO口 可以由軟件配置成8中模式:
1)模擬輸入;
2)輸入浮空;
3)輸入下拉;
4)輸入上拉;
5)開漏輸出;
6)推挽輸出;
7)復(fù)用功能開漏輸出;
8)復(fù)用功能推挽輸出。對應(yīng)到STM32庫文件中的定義如下
Typedef enum
{GPIO_Mode_AIN=0x0,
GPIO_Mode_IN_FLOATING=0x04,
GPIO_Mode_IPD=0x28,
GPIO_Mode_IPU=0x48,
GPIO_Mode_Out_OD=0x14,
GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;//配置GPIO端口速率
實驗的最終結(jié)果達到了預(yù)期目的,實現(xiàn)LED燈的交替閃爍。嘗試了更改管腳,用其他輸出端口控制LED,均可實現(xiàn)控制LED燈閃爍。板級調(diào)試取得初步成功。
如圖6、7所示。
圖6 焊接前的工控板Fig.6 The industrial control board before welding
圖7 焊接后的工控板Fig.7 The industrial control board after welding
文中設(shè)計的工控板是一款低成本、高性價比的工控板。它不僅僅可以用于簡單的實驗,還可以用于復(fù)雜的工業(yè)場所。我們將把它用于電腦橫機系統(tǒng)和棉襪機系統(tǒng)的電控單元。此板的應(yīng)用不僅僅局限于此,使用者可以根據(jù)自己的興趣和需要,自己探索、研究。此次設(shè)計采用的SSD1963芯片,只能用于7寸屏彩屏的驅(qū)動,無法驅(qū)動其他尺寸的屏。此方案在對屏的驅(qū)動方面,存在著在不足。下一代的設(shè)計中,我們計劃采用FPGA芯片取代專用SSD1963芯片,使工控板的應(yīng)用范圍更加廣泛。
[1]Joseph Yiu.Cortex-M3權(quán)威指南[M].宋巖,譯.北京:北京航空航天大學(xué)出版社,2009.
[2]李正軍.現(xiàn)場總線與工業(yè)以太網(wǎng)及其應(yīng)用系統(tǒng)設(shè)計[M].北京:人民郵電出版社,2006.
[3]STM32F103XX Cortex-M3 programming manual.STM32F 103XX Datasheet[EB/OL].[2009-04-01].http://infocenter.arm.com/help/topic/com.arm.doc.ddi0337e/DDI0337E_cortex_m3_r1p1_trm.pdf.
[4]謝詹奇.高速LVDS收發(fā)器的研究與設(shè)計[D].上海:上海交通大學(xué),2008.
[5]夏駿,王甜.基于STM32和GSM的遠程遙控定時開關(guān)裝置[J].電子科技,2013(1):112-114,130.XIA Jun,WANG Tian.Remote control timer switch based on STM32 and GSM[J].Electronic Science and Technology,2013(1):112-114,130.
[6]周立功.ARM嵌入式系統(tǒng)軟件開發(fā)實例[M].北京:北京航空航天大學(xué)出版社,2008.
[7]STM32F103XX Referencemanual.STM32F103XX Datasheet[EB/OL].[2009-04-01].http://www.st.com/stonline/stappl/resourceSelector/app?page=resourceSelector&doctype=PROGRAMMING_MANUAL&FamilyID=141.pdf.