基于LM3S101的數字采控器設計
0 引言
??? 隨著科學技術的發展和社會的進步,現場監控系統已越來越廣泛地應用于金融、交通、商業、工農業生產等領域。數字采控器作為現場監控系統中數字量采集和控制的主要設備,其性能對整個系統的現場監控工作的穩定性具有十分重要的作用。因此,研制結構簡單、性能穩定、可靠性高且成本低廉的新型數字采控器具有十分重要的意義。
??? 本文介紹了一種以Luminary公司新推出的、采用ARM Cortex-M3內核的LM3S101微控制器為控制核心,并采用RS-485通信專用器件SP3485進行通信接口的設計,由串行輸入/并行輸出8位移位寄存器74HC164和并行輸入/串行輸出8位移位寄存器74HC165來進行并行數字輸入/輸出擴展的數字采控器的設計方法。該數字采控器具有性價比高、設計新穎、實用、抗干擾能力強等特點,可廣泛應用于各種現場監控系統,而且經改造后,還可應用于遠程控制系統。
1 系統整體工作原理
??? 本數字采控器硬件以LM3S101 ARM微控制器為控制核心,主要實現RS485通信、波特率設置、本機地址設置、8路數字量采集和8路數字量控制等功能。其系統的硬件組成如圖1所示。

??? 數字采控器的主要功能是根據遠程監控中心發出的現場監控數字量傳感器(如:玻璃破碎監測、遠紅外監測等)狀態監控命令來進行8路傳感器數字量的狀態采集,然后將采集到的數字量結果發送給監控中心;同時接收來自遠程監控中心發送的數字量開關控制命令,進行數字量輸出控制,以控制監控現場的監控輔助設備,如:燈光、報警器等。
2 硬件結構
??? 本系統主要由LM3S101 ARM微控制器主控系統、RS485通信接口、通信波特率和本機地址設置電路、8路數字量輸入電路、8路數字量輸出電路等組成。
2.1 LM3S101主控系統
??? LM3S101 ARM微控制器是Luminary公司推出的一款結構簡單、性能出眾且帶有ARM Codex-M3處理器內核的32位微控制器。Codex-M3處理器是首個基于ARMv7M架構,主要針對汽車車身系統、工業控制系統以及無線網絡等對成本和功耗極端敏感的嵌入式應用領域,是以實現高系統性能為目的而專門設計的ARM內核。
??? LM3S101的最大特點是成本低,性價比高。通常在大多數人腦海中的印象是32位微控制器價格較高,因此在設計低成本嵌入式應用系統時,常會自覺或不自覺地首選8/16位的微控制器,而LM3S101微控制器芯片的面世徹底改變了這種狀況。因為它的銷售價格在1美元以下,這就使得在構建同等性能價格比的應用系統時,選用32位的LM3S101芯片比選用其它8/16位芯片的成本更低。
?LM3S101內部集成了8 KB單周期的FlashROM和2KB的單周期SRAM,并含有兩個32位定時器,一個同步串行接口(SSI),一個看門狗定時器,一個UART,兩個模擬比較器以及18個GPIO (通用輸入/輸出)等。芯片采用6 MHz的晶振,并可通過片內軟件PLL來將工作時鐘頻率設置為20 MHz。
??? 采用LM3S101可以極大地簡化系統電路、提高系統的穩定性和可靠性。
2.2 RS-485通信接口
??? RS-485總線是目前現場監控系統中最為常見的通信接口,這是因為RS-485總線允許的最大通信距離可達1200多米,每條總線上允許連接的設備最多可達32臺,經過適當的串口擴展,完全能夠滿足現場監控系統對通信距離和設備數量的要求。由于LM3S101的電源為+3.3 V,因此,RS-485通信接口也采用供電電壓為+3.3 V的SP3485E專用芯片來進行通信接口設計,其接口電路原理圖如圖2所示。圖中的SMD010是電流為100 mA的自恢復保險絲,當通信網絡出現故障,A、B端的電流大于100 mA時,自恢復保險絲SMD010的電阻會變大,從而保護SP3485芯片不被損壞。

2.3 數字量輸入電路
??? LM3S101的GPIO引腳雖然有18個,但絕大多數引腳除具有通用輸入/輸出功能外,還具有其它系統的外設功能。其中五個引腳可作為JTAG接口進行系統調試和編程,三個引腳可作為RS-485通信和控制使用。顯然,使用LM3S101的GPIO引腳來直接作為8路數字量輸入、8路數字量控制輸出和通信波特率以及本機地址設置是不可能的。因此,8路數字量輸入電路應采用并行輸入、串行輸出的8位移位寄存器74HC165和光電耦合器TLP521-4來進行設計,其數字量輸入電路原理圖如圖3所示。

??? 當需要采集監控現場各數字量監測傳感器狀態時,只需進行并行輸入、串行輸出的8位移位寄存器的數字量讀取,然后,對數據進行封裝后發送給遠程監控中心即可。
2.4 通信波特率和本機地址設置電路
??? 通信波特率和本機地址設置電路屬于數字量輸入電路,因此,可以由一塊74HC165來完成。只是輸入是由撥碼開關設置。其中兩組開關用于通信波特率設置,可設置1200 b/s、2400 b/s、4800 b/s和9600 b/s四種通信波特率;其他六組開關用于本機地址設置,可設置成64個設備地址:0~63。
??? 構成通信波特率和本機地址設置電路的74HC165與8路數字量輸入電路中的74HC165串聯,可組成一個并行輸入、串行輸出的16位移位寄存器。系統初始化前,只需進行16位移位寄存器的數字量讀取,然后,再取低8位二進制數作為通信波特率和本機地址設置值,取低六位為本機地址、高兩位為通信波特率設置值。
2.5 數字量控制輸出電路
??? 8路數字量控制輸出電路可由串行輸入、并行輸出的8位移位寄存器74HC164,8位鎖存器74L5373.8路達林頓管陣列集成電路ULN2803和8個線圈額定電壓為12 V、負載能力為10 A的交流250 V繼電器組成。其8路數字量控制輸出電路如圖4所示。當數字采控器接收到遠程監控中心發送的數字量輸出控制命令后,可先將74HC164的各位狀態由8D鎖存器74LS373鎖存,然后向串行輸入/并行輸出的8位移位寄存器74HC164依次輸出8位二進制控制信息。最后,在移位輸出前及完成8位二進制控制數據后,并在74HC164輸出的狀態穩定下來后,再將新的二進制控制信息輸出。
?
3 系統軟件設計
??? 可支持LM3S101的集成開發環境有KeilμVi-sion3 for ARM、 IAR Embedded Workbench forARM和Rowley Crosswork等。針對不同的集成開發環境,Luminarv公司提供有配套完善且豐富的驅動程序庫Stellaiis Driver Library,并在程序驅動庫中封裝了對底層寄存器的直接操作。應用開發中還可以直接調用該庫中的函數,以完成絕大部分的程序設計。而不必關心底層的操作細節,這為系統軟件程序的設計提供了極大的方便。
??? LM3S101中的通用異步收發器(UART)具有獨立的發送FIFO和接收FIFO。這一特性使得LM3S101在串行通信中不必逐字節地發送和接收數據,故可以使其全力以赴地去作別的事情。本數字采控器的軟件由系統主程序和串口通信主程序兩大部分組成,這兩部分的程序流程圖如圖5所示。

4 結束語
??? 本文介紹的基于LM3S101的數字采控器硬件采用Luminarv公司針對工業應用方案而設計的高性價比32位ARM微控制器為控制核心。由SP3232E實現RS-485通信接口、并行輸入/串行輸出移位寄存器和串行輸入/并行輸出移位寄存器設置、以及8位并行輸入和8路并行輸出數字量接口電路的設計。系統軟件按照模塊化程序設計思想,程序編寫由C語言實現。而采用Luminarv公司開發的Stellaris Driver Library程序庫,可以直接調用該庫中的函數驅動程序庫,編程靈活,修改方便快捷。本系統經現場測試表明:基于LM3S101的數字采控器在某安防監控系統中運行可靠,工作穩定。
電子發燒友App













評論