在一些工業現場中,設備長時間運行容易出現故障,為了監控這些設備,通常利用數據采集裝置采集他們運行時的數據并送給PC機,通過運行在PC機上的特定軟件對這些數據進行分析,以此判斷當前運行設備的狀況,進而采取相應措施。當前常用的數據采集裝置,在其系統軟件設計中,多采用單任務順序機制。這樣就存在系統安全性差的問題。這對于穩定性、實時性要求很高的數據采集裝置來說是不允許的,因此有必要引入嵌入式操作系統。筆者以μC/OSII為操作系統平臺,基于ARM7系列處理器,對一種高性能的數據采集系統開發進行了探索。
1μC/OSII嵌入式操作系統簡介
嵌入式操作系統μC/OSII(microcontroller operating system)是專為微控制器系統和軟件開發而設計的公開源代碼的搶占式實時多任務操作系統內核,是一段微控制器啟動后首先執行的背景程序,作為整個系統的框架貫穿系統運行的始終。對于對實時性和穩定性要求很高的數據采集系統來說,引入μC/OSII無疑將大大改善其性能。
μC/OSII的特點可以概括為以下幾個方面:公開源代碼,代碼結構清晰、明了,注釋詳盡,組織有條理,可移植性好,可裁剪,可固化。內核屬于搶占式,最多可以管理60個任務。μC/OSII自1992年的第一版(μC/OS)以來已經有好幾百個應用,是一個經實踐證明好用且穩定可靠的內核。目前國內對μC/OSII的研究和應用都很多。
2 系統基本工作原理
應用時,數據采集系統置于被監控的設備處,通過傳感器對設備的電壓或者電流信號進行采樣、保持,并送入A/D轉換器變成數字信號,然后將該信號送到FIFO中。當FIFO中存放的數據到了一定數目時,由ARM7從FIFO中讀出,然后通過ARM7的以太網接口或者RS232送給上位機。考慮到要監控的設備可能會很多,所以設計了多路采集通道,他們經過模擬開關后再進入A/D轉換器。CPLD是整個系統的控制核心,他控制采集通道的切換、A/D轉換器的啟/停、轉換后的數據在FIFO中的存放地址發生器、產生中斷請求以通知ARM7讀取存放在FIFO中的數據等。
3 系統硬件結構
系統的基本結構框圖如圖1所示。該系統采用了Samsung公司的S3C4510B作為系統與上位機溝通的橋梁,S3C4510B是基于以太網應用系統的高性價比16/32位RISC微控制器,他有如下幾個主要特點:
硬件方面內含一個由ARM公司設計的16/32位ARM7TDMI RISC處理器核,ARM7TDMI為低功耗、高性能的16/32核,最適合用于對價格及功耗敏感的應用場合。S3C4510B通過在ARM 7TDMI核內容基礎上擴展一系列完整地通用外圍器件。
片上資源包括2個帶緩沖描述符(buffer descriptor)的HDLC通道;2個UART通道;2個GD M A通道;2個32位定時器;18個可編程的I/O口。還有中斷控制器;DRAM/SDRAM控制器;ROM/S RAM和FLASH控制器;系統管理器;1個內部32位系統總線仲裁器;1個外部存儲器控制器等片內的邏輯控制電路。
這些為μC/OSII的移植提供了優良的物理資源。
軟件支持方面他有配套的代碼編輯調試環境ADS12和JTAG在線調試功能,使S3C4510B芯片軟件可以直接用C編寫,這就使μC/OSII的植入成為可能。
12位高速A/D轉換電路采用Analog Devices的AD574,該電路輸出具有三態鎖存功能。預處理電路包括了電流電壓互感器、隔離電路和同步采樣電路,他可以將信號轉換成與AD574相匹配的量值,供后續處理。通訊電路采用常用的以太網接口與上位機相連,而232接口可作為備用,這樣該裝置既可作為便攜式系統使用,也可通過網絡來對設備實施實時監控。
4 軟件設計部分
軟件部分要分別編寫S3C4510B部分的程序和CPLD控制程序。前者可分為μC/OSII的移植和各個應用程序的編寫,后者用VHDL語言實現。
對于S3C4510B部分,根據整個裝置實現的功能和對他的要求進行系統任務分割,并根據實際需要為各個任務分配優先級。系統大致可分為如下幾個任務:初始化CPLD控制參數;對FI FO的讀取;與上位機的TCP/IP通訊;與上位機的串口通訊。對應每個任務,需要編寫相應的應用程序,軟件設計部分的關鍵技術有:
(1)μC/OSII內核向S3C4510B中的移植,要根據處理器的特點合理地修改μC/OS II的3個與處理器相關的文件:OS_CPUH,OS_CPU_AASM,OS_CPU_C.C。主要是將文件中的匯編指令,改為ARM7的匯編指令,并根據CPU的特點對文件中寄存器的初值進行改寫。
(2)內存配置問題。對于存儲器容量的設計,要綜合考慮μC/OSII內核代碼和應用程序代碼的大小。每個任務是獨立運行的,必須給每個任務提供單獨的棧空間(RAM),RAM總量的計算公式為:
RAM總量=應用程序的RAM需求+內核數據區的RAM需求+各任務棧需求之總和+最多中斷嵌套所需堆棧
(3)TCP/IP協議在μC/OSII中的實現。為了滿足嵌入式設備與Internet網絡直接交換信息的要求,在μC/OSII中又移植了LwIP協議棧。
LwIP是瑞士計算機科學院(Swedish Institute of Computer Science)的Adam Dunkels等開發的一套用于嵌入式系統的開放源代碼TCP/IP協議棧。LwIP的含義是Light Weight(輕型)IP協議。LwIP可以移植到操作系統上,也可以在無操作系統的情況下獨立運行。LwIP TC P/IP實現的重點是在保持TCP協議主要功能的基礎上減少對RAM的占用,一般他只需要幾十k的RAM和40 k左右的ROM就可以運行,這使LwIP協議棧適合在低端嵌入式系統中使用。
LwIP的特性有:支持多網絡接口下的IP轉發;支持ICMP協議;包括實驗性擴展的的UDP(用戶數據 報協議);包括阻塞控制、RTT估算、快速恢復和快速轉發的TCP(傳輸控制協議);提供專門的內部回調接口(raw API)用于提高應用程序性能。
LwIP可以很容易地在μC/OSII的調度下,為系統增加網絡通信和網絡管理功能。LwIP協議棧在設計時就考慮到了將來的移植問題,他把所有與硬件,OS,編譯器相關的部份獨立出來,放在/src/arch目錄下。因此LwIP在μC/OSII上的實現就是修改這個目錄下的文件,其他的文件一般不應該修改。在驅動中主要是根據S3C4510B內的以太網控制特殊功能寄存器,編寫網絡接口的處發送包、接收包函數,初始化以及用于以太網控制器的外部中斷服務程序。
5 結語
采用基于ARM7的S3C4510B嵌入式微處理器,可以使系統小型化,便于提高性能以及與各種外設連接擴展,同時降低了成本。μC/OSII作為一個源代碼公開的操作系統,在具體應用種穩定可靠。本系統采用ARM7+μC/OSII開發設計,具有精度高、運行穩定、實時性好、抗干擾能力強、性價比高的特點,可以在各種工業場合中廣泛應用,達到了設計的初衷。
上一篇:ARM9的快速對星裝置原理及設計實現
下一篇:ARM 簡介及編程知識匯總
推薦閱讀
史海拾趣
為了進一步擴大市場份額,DB Lectro Inc積極尋求與國際知名企業的合作。通過與多家國際公司的技術交流和合作,公司成功地將自身的氣體檢測技術應用于更多領域,如天然氣開采、食品飲料生產等。同時,公司還積極參與國際展覽和交流活動,展示了其先進的技術和產品,贏得了國際市場的廣泛認可。
Diode Laser Concepts公司始終關注社會責任,積極參與各類公益活動。公司定期向貧困地區捐贈教育設備和資金,支持當地的教育事業發展;同時,公司還組織員工參與環保志愿活動,宣傳環保理念,為保護地球環境貢獻一份力量。這些公益活動不僅體現了公司的社會責任感,也增強了員工之間的凝聚力和向心力。
面對日益嚴重的環境問題,Akahane敏銳地捕捉到綠色電子產品的市場潛力。公司投入大量研發資源,開發出低能耗、環保的電子產品,并積極推廣綠色生產和循環經濟理念。這一舉措不僅贏得了消費者的青睞,還為公司贏得了良好的社會聲譽。同時,Akahane還積極參與國際環保組織的活動,推動電子行業的綠色化發展。
如今,BB公司已經走過了數十年的發展歷程,成為電子行業中一顆璀璨的明星。然而,公司并沒有因此停下腳步。相反,BB公司始終保持著強烈的創新意識和進取精神,不斷尋求新的發展機遇和挑戰。未來,BB公司將繼續致力于技術創新和市場拓展,為電子行業的繁榮發展貢獻更多力量。
以上是關于BB公司發展起來的五個相關故事。這些故事不僅展現了BB公司的成長歷程和發展成就,也凸顯了其在電子行業中的重要地位和影響。相信在未來的日子里,BB公司將繼續書寫更加輝煌的篇章。
隨著產品線的不斷豐富和技術實力的不斷提升,Austek Microsystems開始積極拓展市場。公司不僅在國內市場取得了良好的銷售業績,還積極開拓海外市場,與多個國家和地區的客戶建立了穩定的合作關系。同時,Austek Microsystems還注重品牌建設,通過參加行業展會、舉辦技術研討會等方式,提升品牌知名度和影響力。
隨著技術的不斷成熟和市場的日益擴大,Econais開始將目光投向全球市場。公司積極參加各類國際展會和研討會,與全球各地的客戶和合作伙伴建立聯系。同時,Econais還針對不同地區的市場需求,推出定制化的產品和解決方案。這些努力使得Econais在全球范圍內的市場份額逐漸擴大。
映像平面的設計 附圖四是在PCB內的映像平面,它具有共同的部分電感。在此圖中,訊號走線的大多數射頻電流將回至接地平面,此平面在訊號走線的正下方。在這個回傳「映像」結構中,射頻回傳電流將遇到一個有限大的阻抗(電感)。此回傳電流會產 ...… 查看全部問答∨ |
|
簡易制作的DS18B20數字溫度計此物純屬無聊之作,不想浪費時間生命的不要往下看,初學者可以一看。之前用STC新型的20腳單片機制作了一個精簡數字溫度計,形狀很是小巧,但是新型單片機運行速度要快,因此對于DS18B20芯片的時序有很大的不同,再加上 ...… 查看全部問答∨ |
|
大家好:請問如何做交流之均方根值(有效值)量測?測量頻率希望可以達到1MHZ。目前我找到的資料如方塊圖所示,流程如下:(1)先用一個儀表放大器獲得回路上某一電阻的電壓。(2)在經過一個高速絕對值電路做精密全波整流。(3)再用濾波電容變成 ...… 查看全部問答∨ |
|
在實現燈閃爍之前,安裝MDK500遇到了很多問題,一個問題就是注冊機有問題,無法破解,不過還是搞好了,還有一個問題就是pack installer更新無法更新到STM32F29, 不過去網上下載了一個mdkcm510.exe,之后行了,不知道什么原因。我比較懶,所以直接 ...… 查看全部問答∨ |
設計資源 培訓 開發板 精華推薦
- 安全的革新,全新的驗證方式 下載富士通 《頻譜驗證解決方案 》白皮書 好禮送!
- 第二季學習體驗活動風暴來襲!
- 【已結束】R&S 直播【PCI Express Gen 3 一致性測試(含demo演示)】
- 【EEWORLD第四十一屆】2012年08月社區明星人物揭曉!
- 免費申請測評:超小型 Linux 開發套件:Quantum Tiny Linux(帶 SoM 和擴展板)
- 免費申請富士通FRAM 曬心得 贏大禮!
- 【TI有獎直播】新一代低功耗藍牙微控制器CC2640R2,開發和應用案例解析
- 福祿克有獎直播:高精度測溫賦能電子制造
- 有獎直播|多款MSP430™片上Sigma-Delta ADC助力高精度信號檢測應用 報名中