當(dāng)前位置:首頁 > 嵌入式 > 嵌入式軟件
[導(dǎo)讀]基于STM32處理器的數(shù)字PDA系統(tǒng)設(shè)計(jì)

摘要:數(shù)字PDA系統(tǒng)整體由硬件電路和軟件系統(tǒng)2部分組成,硬件電路由低功耗ARM微控制器STM32ZET6控制的PDA外圍電路組成,軟件系統(tǒng)則由硬件驅(qū)動程序、μC/OS-Ⅱ?qū)崟r(shí)操作系統(tǒng)、FATFS文件系統(tǒng)、GUI等部分組成。數(shù)字PDA系統(tǒng)將整個(gè)軟件系統(tǒng)進(jìn)行了整合,提供一種基于頁的機(jī)制方法,即每頁都是一個(gè)線程,利用μC/OS-Ⅱ的信號量、郵箱機(jī)制實(shí)現(xiàn)多線程之間的任務(wù)切換。PDA系統(tǒng)采用頁機(jī)制的設(shè)計(jì),旨在減少增加應(yīng)用程序時(shí)代碼的修改量和提高整個(gè)PDA軟件系統(tǒng)的穩(wěn)定性,以及提高應(yīng)用程序的開發(fā)速度。
關(guān)鍵詞:STM32;μC/OS-Ⅱ;數(shù)字PDA系統(tǒng);頁機(jī)制;ARM

0 引言
    以Cortex-M3為內(nèi)核的處理器由于其低功耗以及低成本并且是32位處理器,越來越多的研究人員已經(jīng)從51處理器、AVR等處理器開始轉(zhuǎn)移到這個(gè)領(lǐng)域。數(shù)字PDA系統(tǒng)設(shè)計(jì)采用的是以Cortex-M3的內(nèi)核STM32ZET6控制器,但是由于STM32ZET6內(nèi)部沒有MMU,不能移植WincE,Linux等操作系統(tǒng),故只能應(yīng)用ucLinux,μC/OS-Ⅱ等實(shí)時(shí)操作系統(tǒng)。傳統(tǒng)的操作系統(tǒng)ucLinux,μC/OS-Ⅱ在微控制器中移植后,應(yīng)用程序就開始了與操作系統(tǒng)、以及硬件驅(qū)動之間的交互,一旦要添加新的應(yīng)用程序或者對應(yīng)用程序的更改,代碼的修改量以及整個(gè)操作系統(tǒng)的穩(wěn)定性都會收到影響。這時(shí)就需要一種新的機(jī)制,能夠在保證系統(tǒng)穩(wěn)定性的基礎(chǔ)上快速設(shè)計(jì)應(yīng)用程序,也正是基于這種思想,數(shù)字PDA系統(tǒng)將實(shí)時(shí)操作系統(tǒng)、硬件驅(qū)動、FATFS進(jìn)行統(tǒng)一的封裝,并給出一種基于頁的機(jī)制,每一頁就是一個(gè)線程,利用μC/OS-Ⅱ操作系統(tǒng)進(jìn)行任務(wù)間的切換,而應(yīng)用程序只需要按照頁的設(shè)計(jì)規(guī)則,進(jìn)行應(yīng)用程序頁設(shè)計(jì)即可,設(shè)計(jì)最終證明是合理可靠的。

1 數(shù)字PDA系統(tǒng)原理框圖說明
    數(shù)字PDA系統(tǒng)的硬件電路部分由微控制器STM32F103ZET6、16 Mb NOR FLASH存儲器、液晶顯示LCD控制電路、USB接口電路、VS1003B MP3解碼芯片電路、2 Gb misroSD卡接口電路、以及2.5~5 V電源電路組成。它的結(jié)構(gòu)圖如圖1所示。



2 數(shù)字PDA系統(tǒng)硬件電路設(shè)計(jì)
2.1 微處理器MCU
    微處理器MCU采用STM32F103ZET6 ARM芯片,其特點(diǎn)是低功耗、價(jià)格低、具有豐富的外設(shè)資源如FSMC控制器、USB、多路SPI和USART,并且有MDK編程手冊,易于上手。
2.2 NOR FLASH存儲器
    NOR FLASH采用M29W128芯片,NOR FLASH的作用是存儲頁面資源、GUI資源、以及各種字庫資源。數(shù)字PDA系統(tǒng)硬件電路使用微控制器的FSMC控制器對M29W128 NOR FLASH進(jìn)行讀寫操作,主要是為了提高對M29W128讀寫速度。M29W128NOR FLASH中的存儲的數(shù)據(jù),也可以通過從microSD卡中讀取并進(jìn)行存儲。
2.3 TFT液晶顯示電路
    數(shù)字PDA系統(tǒng)硬件電路使用以HX8312為主控芯片的液晶控制電路和主控制器連接。主控制器和液晶控制電路之間的數(shù)據(jù)通信也使用主控制器的FSMC接口,目的是進(jìn)行快速傳輸數(shù)據(jù),避免液晶顯示刷屏現(xiàn)象的產(chǎn)生。
2.4 VS1003音頻解碼電路
    VS1003是音頻解碼芯片,它支持Mpeg1和Mpeg2,WMA,MIDI,MP3解碼,同時(shí)支持IMA ADPCM(單聲道)、麥克風(fēng)和線入等編碼,VS1003具有一個(gè)高性能低功耗的DSP處理器核VS_DSP,0.5 KB數(shù)據(jù)RAM。數(shù)字PDA系統(tǒng)使用VS1003音頻解碼芯片,實(shí)現(xiàn)PDA的音樂MP3的播放功能。
2.5 USB接口電路和microSD卡接口電路
    STM32微控制器具有1個(gè)USB接口,該USB接口主要實(shí)現(xiàn)數(shù)字系統(tǒng)PDA在和PC機(jī)連接時(shí)的USB通信,當(dāng)然也能為數(shù)字系統(tǒng)PDA系統(tǒng)供電。micro SD實(shí)現(xiàn)了數(shù)字PDA系統(tǒng)的大容量數(shù)據(jù)的存儲。
2.6 PDA內(nèi)部USB轉(zhuǎn)串口電路
    PL2303遵循USB協(xié)議,并且支持到RS 232的轉(zhuǎn)換。PDA數(shù)字系統(tǒng)通過PL2303電路實(shí)現(xiàn)主控制器的串口和PC之間的串口通信,這個(gè)電路主要用于系統(tǒng)調(diào)試。
2.7 電源電路
    電源電路包括鋰電、5 V外接電源濾波電路、5 V轉(zhuǎn)3.3 V、3.3 V轉(zhuǎn)2.8 V、3.3 V轉(zhuǎn)2.5 V五個(gè)電路,它們主要負(fù)責(zé)分別給主控制器、解碼芯片、SD、NORFLASH提供電源。
[!--empirenews.page--]
3 數(shù)字PDA系統(tǒng)軟件系統(tǒng)設(shè)計(jì)
3.1 軟件系統(tǒng)總體介紹
    相比較硬件電路來說,硬件電路一旦確定并且電路正確,基本上沒有大的變化,而軟件部分則會出現(xiàn)非常大變化,因?yàn)閼?yīng)用的程序是多種多樣的。但是STM32微控制器沒有像PC處理器那樣含有MMU,不能運(yùn)行Linux和WinCE操作系統(tǒng),但是在很多情況下,PDA數(shù)字系統(tǒng)是要實(shí)現(xiàn)多任務(wù)操作的,或者說多線程操作,所以在這種條件下,PDA數(shù)字系統(tǒng)采選用μC/OS-Ⅱ進(jìn)行多任務(wù)之間根據(jù)優(yōu)先級別的調(diào)度,而應(yīng)用程序又是基于操作系統(tǒng)和硬件的,為了提高操作系統(tǒng)的穩(wěn)定性和減少在數(shù)字PDA添加應(yīng)用程序時(shí)代碼的修改了,所以數(shù)字PDA系統(tǒng)將操作系統(tǒng)、GUI、硬件驅(qū)動程序、文件系統(tǒng)FATFS進(jìn)行整合,采用一種頁機(jī)制,每一頁就是指一個(gè)TFT LCD顯示的頁,每一頁就是一個(gè)線程,當(dāng)頁切換時(shí),底層操作系統(tǒng)就實(shí)現(xiàn)任務(wù)的切換。
3.2 FATFS文件系統(tǒng)的移植
    由于PDA數(shù)字系統(tǒng)使用SD卡作為大容量數(shù)據(jù)的存儲,雖然主控制器STM32含有SDIO接口,硬件驅(qū)動程序只要進(jìn)行相應(yīng)的配置就能實(shí)現(xiàn)SD的讀寫操作,但是這種操作時(shí)基于扇區(qū)的,而上層應(yīng)用程序操作的是文件,所以必須移植文件系統(tǒng)。移植步驟就是將SD的讀寫扇區(qū)函數(shù)和文件系統(tǒng)的底層接口函數(shù)想關(guān)聯(lián)。數(shù)字PDA系統(tǒng)使用FATFS文件系統(tǒng),當(dāng)然也可以使用FAT32文件系統(tǒng),F(xiàn)ATFS文件系統(tǒng)中diskio.c中提供五個(gè)接口函數(shù),如圖2所示。


    將microSD卡驅(qū)動函數(shù)的SD扇區(qū)讀函數(shù)、扇區(qū)寫函數(shù)、以及SD初始化的函數(shù)和圖中的disk_read,disk_write,disk_initialize進(jìn)行對接,當(dāng)讓還要在FATFS文件系統(tǒng)中數(shù)據(jù)類型integer.h中包含stm32f10x.h以及將integer.h中的數(shù)據(jù)類型進(jìn)行更改,只需要更改文件系統(tǒng)中BOOL類型數(shù)據(jù)和stm32f10x.h中的bool類型一致即可,文件系統(tǒng)就移植完了。移植了FATFS文件系統(tǒng)后,數(shù)字PDA系統(tǒng)在讀取SD卡時(shí),就可以按照大家常用的文件格式進(jìn)行讀取數(shù)據(jù)。
3.3 μC/OS-Ⅱ?qū)崟r(shí)操作系統(tǒng)的移植
    μC/OS-Ⅱ?yàn)镻DA數(shù)字系統(tǒng)的操作系統(tǒng)提供多線程操作,任務(wù)的調(diào)度。由于系統(tǒng)需要多線程的調(diào)度,需要為數(shù)字PDA系統(tǒng)移植μC/OS-Ⅱ。數(shù)字PDA系統(tǒng)使用信號量和郵箱機(jī)制進(jìn)行多任務(wù)的調(diào)度。μC/OS-Ⅱ是用標(biāo)準(zhǔn)C語言和匯編語言來寫的,只有與微處理器相關(guān)的是由匯編指令寫的,所以在STM32F103ZET6上中移植μC/OS-Ⅱ?qū)崟r(shí)操作系統(tǒng),只需要更改或者重寫處理器相關(guān)文件OS_CPU.H和OS_CPU_C.C,匯編文件OS_CPU-A.ASM,系統(tǒng)配置文件OS_CFG.h。
3.4 硬件驅(qū)動程序
    數(shù)字PDA系統(tǒng)在調(diào)用微控制器的各種外設(shè)接口資源、以及各種硬件資源時(shí)需要調(diào)用這些硬件資源的驅(qū)動程序。數(shù)字PDA系統(tǒng)的硬件驅(qū)動程序由串口打印輸出驅(qū)動程序、SD卡驅(qū)動程序、VS1003B硬件驅(qū)動程序、TFT LCD液晶顯示器驅(qū)動程序、3個(gè)SPI串行通信口的驅(qū)動程序、NOR FLASH和STM32 FSMC接口驅(qū)動程序、觸摸屏TSC2046驅(qū)動程序組成。以上的驅(qū)動程序保證了各個(gè)模塊硬件資源的正常工作。作為最底層驅(qū)動程序,這些程序保證了整個(gè)數(shù)字PDA系統(tǒng)能夠?qū)崿F(xiàn)各種應(yīng)用程序。
3.5 頁與GUI圖形界面接口
    數(shù)字PDA系統(tǒng)要在TFT LCD液晶顯示器中的進(jìn)行圖形界面的顯示,需要GUI的支持,數(shù)字PDA系統(tǒng)采GUI設(shè)計(jì)沒有移植uCGui,而是根據(jù)液晶控制器重寫的GUI,由于STM32F103ZET6微控制器的時(shí)鐘為72 MHz,這樣寫的好處在于提高液晶頁面顯示的速度,減少刷屏現(xiàn)象的產(chǎn)生,提高PDA液晶畫面顯示的質(zhì)量。
    數(shù)字PDA系統(tǒng)將以上的所有軟件進(jìn)行了整合,將液晶屏顯示一個(gè)頁作為一個(gè)線程,頁面進(jìn)行切換就實(shí)現(xiàn)了任務(wù)的切換,任務(wù)的切換由操作系統(tǒng)實(shí)現(xiàn)。通過頁機(jī)制的框架,在應(yīng)用程序進(jìn)行修改或者添加新的應(yīng)用程序時(shí),減少了代碼的修改量,保證系統(tǒng)的穩(wěn)定性。
數(shù)字PDA系統(tǒng)啟動后就進(jìn)入主頁線程,操作系統(tǒng)系統(tǒng)根據(jù)硬件中斷和信號量郵箱機(jī)制,進(jìn)行也切換,頁切換的時(shí)候,會調(diào)用文件系統(tǒng)或者硬件驅(qū)動程序,這就是PDA系統(tǒng)的工作原理。

4 結(jié)語
    數(shù)字PDA設(shè)計(jì)是在硬件電路設(shè)計(jì)上移植文件系統(tǒng)、操作系統(tǒng)上完成的,整個(gè)系統(tǒng)不僅要求硬件電路的兼容正確,同時(shí)也要求FATFS文件系統(tǒng)和μC/OS-Ⅱ操作系統(tǒng)的移植正確,整個(gè)系統(tǒng)基于頁的機(jī)制進(jìn)行任務(wù)切換,經(jīng)過實(shí)際證明頁機(jī)制可以進(jìn)行快速嚴(yán)謹(jǐn)?shù)膽?yīng)用程序開發(fā)。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運(yùn)營商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團(tuán))股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉