基于STM32處理器的數字PDA系統(tǒng)設計
摘要:數字PDA系統(tǒng)整體由硬件電路和軟件系統(tǒng)2部分組成,硬件電路由低功耗ARM微控制器STM32ZET6控制的PDA外圍電路組成,軟件系統(tǒng)則由硬件驅動程序、μC/OS-Ⅱ實時操作系統(tǒng)、FATFS文件系統(tǒng)、GUI等部分組成。數字PDA系統(tǒng)將整個軟件系統(tǒng)進行了整合,提供一種基于頁的機制方法,即每頁都是一個線程,利用μC/OS-Ⅱ的信號量、郵箱機制實現(xiàn)多線程之間的任務切換。PDA系統(tǒng)采用頁機制的設計,旨在減少增加應用程序時代碼的修改量和提高整個PDA軟件系統(tǒng)的穩(wěn)定性,以及提高應用程序的開發(fā)速度。
關鍵詞:STM32;μC/OS-Ⅱ;數字PDA系統(tǒng);頁機制;ARM
0 引言
以Cortex-M3為內核的處理器由于其低功耗以及低成本并且是32位處理器,越來越多的研究人員已經從51處理器、AVR等處理器開始轉移到這個領域。數字PDA系統(tǒng)設計采用的是以Cortex-M3的內核STM32ZET6控制器,但是由于STM32ZET6內部沒有MMU,不能移植WincE,Linux等操作系統(tǒng),故只能應用ucLinux,μC/OS-Ⅱ等實時操作系統(tǒng)。傳統(tǒng)的操作系統(tǒng)ucLinux,μC/OS-Ⅱ在微控制器中移植后,應用程序就開始了與操作系統(tǒng)、以及硬件驅動之間的交互,一旦要添加新的應用程序或者對應用程序的更改,代碼的修改量以及整個操作系統(tǒng)的穩(wěn)定性都會收到影響。這時就需要一種新的機制,能夠在保證系統(tǒng)穩(wěn)定性的基礎上快速設計應用程序,也正是基于這種思想,數字PDA系統(tǒng)將實時操作系統(tǒng)、硬件驅動、FATFS進行統(tǒng)一的封裝,并給出一種基于頁的機制,每一頁就是一個線程,利用μC/OS-Ⅱ操作系統(tǒng)進行任務間的切換,而應用程序只需要按照頁的設計規(guī)則,進行應用程序頁設計即可,設計最終證明是合理可靠的。
1 數字PDA系統(tǒng)原理框圖說明
數字PDA系統(tǒng)的硬件電路部分由微控制器STM32F103ZET6、16 Mb NOR FLASH存儲器、液晶顯示LCD控制電路、USB接口電路、VS1003B MP3解碼芯片電路、2 Gb misroSD卡接口電路、以及2.5~5 V電源電路組成。它的結構圖如圖1所示。
2 數字PDA系統(tǒng)硬件電路設計
2.1 微處理器MCU
微處理器MCU采用STM32F103ZET6 ARM芯片,其特點是低功耗、價格低、具有豐富的外設資源如FSMC控制器、USB、多路SPI和USART,并且有MDK編程手冊,易于上手。
2.2 NOR FLASH存儲器
NOR FLASH采用M29W128芯片,NOR FLASH的作用是存儲頁面資源、GUI資源、以及各種字庫資源。數字PDA系統(tǒng)硬件電路使用微控制器的FSMC控制器對M29W128 NOR FLASH進行讀寫操作,主要是為了提高對M29W128讀寫速度。M29W128NOR FLASH中的存儲的數據,也可以通過從microSD卡中讀取并進行存儲。
2.3 TFT液晶顯示電路
數字PDA系統(tǒng)硬件電路使用以HX8312為主控芯片的液晶控制電路和主控制器連接。主控制器和液晶控制電路之間的數據通信也使用主控制器的FSMC接口,目的是進行快速傳輸數據,避免液晶顯示刷屏現(xiàn)象的產生。
2.4 VS1003音頻解碼電路
VS1003是音頻解碼芯片,它支持Mpeg1和Mpeg2,WMA,MIDI,MP3解碼,同時支持IMA ADPCM(單聲道)、麥克風和線入等編碼,VS1003具有一個高性能低功耗的DSP處理器核VS_DSP,0.5 KB數據RAM。數字PDA系統(tǒng)使用VS1003音頻解碼芯片,實現(xiàn)PDA的音樂MP3的播放功能。
2.5 USB接口電路和microSD卡接口電路
STM32微控制器具有1個USB接口,該USB接口主要實現(xiàn)數字系統(tǒng)PDA在和PC機連接時的USB通信,當然也能為數字系統(tǒng)PDA系統(tǒng)供電。micro SD實現(xiàn)了數字PDA系統(tǒng)的大容量數據的存儲。
2.6 PDA內部USB轉串口電路
PL2303遵循USB協(xié)議,并且支持到RS 232的轉換。PDA數字系統(tǒng)通過PL2303電路實現(xiàn)主控制器的串口和PC之間的串口通信,這個電路主要用于系統(tǒng)調試。
2.7 電源電路
電源電路包括鋰電、5 V外接電源濾波電路、5 V轉3.3 V、3.3 V轉2.8 V、3.3 V轉2.5 V五個電路,它們主要負責分別給主控制器、解碼芯片、SD、NORFLASH提供電源。
評論