• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      以ARM Cortex-M3為基礎(chǔ)的STM32開(kāi)發(fā)板的設(shè)計(jì)與實(shí)現(xiàn)

      2013-10-29 02:19:29焦江麗李鳳蓮
      中國(guó)新通信 2013年9期
      關(guān)鍵詞:意法開(kāi)發(fā)板外設(shè)

      焦江麗 李鳳蓮

      【摘要】Cortex-M3A是ARM推出了新的產(chǎn)品,其在低成本、低功耗上具有很高的優(yōu)勢(shì)。本文對(duì)ARM Cotex-M3和STM32微控制器進(jìn)行了研究,通過(guò)選擇意法半導(dǎo)體STM32F開(kāi)發(fā)板,對(duì)STM32的基本模塊GPIO、RTC、USART、TFTLCD等的研究完成了相關(guān)設(shè)計(jì),從而實(shí)現(xiàn)了萬(wàn)年歷在液晶屏和PC端的顯示,同時(shí)在液晶屏上實(shí)現(xiàn)了小容量的數(shù)碼相冊(cè)及圖片的循環(huán)播放。

      【關(guān)鍵詞】STM32ARM Cortex-M3TFTLCD通用同步異步收發(fā)器萬(wàn)年歷

      一、引言

      意法半導(dǎo)體(ST Microelectronics,簡(jiǎn)稱ST)推出的STM32微控制器,是ST第一個(gè)基于ARM Cortex-M3內(nèi)核的控制器。STM32的出現(xiàn)將當(dāng)前微控制器的性價(jià)比水平提升到了新的高度,同時(shí)它在低功耗場(chǎng)合和硬實(shí)時(shí)控制場(chǎng)合中亦能游刃有余[1],考慮到用戶應(yīng)用的多樣性和大跨度的需要,STM32很好的在整個(gè)系列保持了引腳的兼容性及外設(shè)的配置的兼容性[2]。

      2008年5月ST推出擴(kuò)展升級(jí)的STM32些列產(chǎn)品線,新系列配備最高達(dá)512KB的片上閃存、存儲(chǔ)空間更大的SRAM和更多的外設(shè)功能,以用于顯示、聲音、存儲(chǔ)和高級(jí)控制。STM32系列給MCU用戶帶來(lái)了前所未有的自由空間,提供了全新的32位產(chǎn)品選項(xiàng),結(jié)合了高性能、實(shí)時(shí)、低功耗、低電壓等特性,同時(shí)保持了高集成度和易于開(kāi)發(fā)的優(yōu)勢(shì)[3]。

      ARM在1990年成立,當(dāng)初的名字是“Advanced RISC Machines Ltd.,”,當(dāng)時(shí)它是三家公司的合資———它們分別是蘋(píng)果電腦,Acorn電腦公司,以及VLSI技術(shù)(公司)。

      基于ARM Cortex-M3的STM32的優(yōu)勢(shì)有:(1)可以選擇采用固件庫(kù)開(kāi)發(fā),不必接觸底層寄存器,大大縮短開(kāi)發(fā)周期,降低上手難度;(2)性價(jià)比高,32位的控制器有著接近于16位甚至高端8位控制器的價(jià)格;(3)功能豐富,從工控、小嵌入式均能勝任。STM32已經(jīng)廣泛應(yīng)用在工業(yè)控制、建筑與安防、低功耗、家用電器及計(jì)算機(jī)網(wǎng)絡(luò)和通信等領(lǐng)域。STM32最多5個(gè)串口,外圍通訊方便自由,如對(duì)講機(jī)、空中鼠標(biāo)、游戲手柄、電話POS等[4]。

      本文旨在對(duì)STM32微控制器的深入研究,對(duì)意法半導(dǎo)體開(kāi)發(fā)板STM32F(100腳)進(jìn)行調(diào)試與開(kāi)發(fā)。對(duì)此開(kāi)發(fā)板中的各個(gè)模塊如GPIO、定時(shí)器、USART、中斷、BKP(備份寄存器)、PWR(電源控制)、RCC(復(fù)位和時(shí)鐘控制)、 FSMC、TFTLCD等進(jìn)行研究。在此基礎(chǔ)上,實(shí)現(xiàn)功能:將圖片顯示到TFTLCD上,萬(wàn)年歷通過(guò)串口在PC上顯示,并且可以在TFTLCD上顯示。

      一、系統(tǒng)模塊與開(kāi)發(fā)平臺(tái)

      1.1STM32開(kāi)發(fā)板

      RealView MDK的突出特性:(1)啟動(dòng)代碼生成向?qū)?,自?dòng)引導(dǎo);(2)軟件模擬器,完全脫離硬件的軟件開(kāi)發(fā)過(guò)程;(3)性能分析器,看得更遠(yuǎn)、更細(xì)、更清;(4)Cortex-M3支持;(5)RealView編譯器,代碼更小,性能更高。

      1.3軟件系統(tǒng)的設(shè)計(jì)流程

      在實(shí)際開(kāi)發(fā)中,需要使用外設(shè)的時(shí)候一般有三個(gè)步驟,這里以GPIO外設(shè)為例簡(jiǎn)單介紹一下開(kāi)發(fā)流程:

      (1)修改配置文件stm32f10x_conf.h。

      將配置文件gpio的宏打開(kāi),如圖4。

      (2)加載stm32f10x_gpio.c文件

      stm32f10x_gpio.c是GPIO對(duì)應(yīng)的庫(kù)文件,對(duì)GPIO的一系列操作都是封裝完成并存放在這類文件里。加載過(guò)程如圖5所示。

      (3)參數(shù)設(shè)置。

      包括配置使用管腳、輸入或輸出模式、選中管腳的速率,開(kāi)發(fā)人員只需根據(jù)所需要求在對(duì)應(yīng)的參數(shù)位置進(jìn)行設(shè)置即可。一個(gè)簡(jiǎn)單的實(shí)例如下:

      void GPIO_Configuration(void)

      {

      GPIO_InitTypeDef GPIO_InitStructure;

      GPIO_InitStructure.GPIO_Pin = GPIO_Pin_6;

      //D1

      GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;

      GPIO_Init(GPIOC, &GPIO_InitStructure);}

      其它模塊的應(yīng)用也類似于此,這樣就屏蔽了寄存器配置細(xì)節(jié),同時(shí)加快了開(kāi)發(fā)速度。

      二、TFTLCD顯示圖片的實(shí)現(xiàn)

      此設(shè)計(jì)中實(shí)現(xiàn)了兩幅圖片的循環(huán)播放,為實(shí)現(xiàn)數(shù)碼相框奠定一定的基礎(chǔ)。圖片每循環(huán)一次,D1、D2、D3和D4循環(huán)閃爍一次。第一幅圖片顯示結(jié)果以及第二幅圖片顯示結(jié)果如圖6和圖7所示。

      三、萬(wàn)年歷設(shè)計(jì)實(shí)現(xiàn)

      3.1設(shè)計(jì)原理

      實(shí)時(shí)時(shí)鐘(Real Time Clock,RTC)是一種能提供日歷/時(shí)鐘及數(shù)據(jù)存儲(chǔ)等功能專用集成電路,常用作各種計(jì)算機(jī)和嵌入式系統(tǒng)的時(shí)鐘信號(hào)源和參數(shù)設(shè)置存儲(chǔ)電路。特別是在各種嵌入式系統(tǒng)中用于記錄事件發(fā)生的時(shí)間和相關(guān)信息,如通信工程、電氣自動(dòng)化、工業(yè)控制等自動(dòng)化程度高的領(lǐng)域中的無(wú)人值守環(huán)境。

      3.2設(shè)計(jì)步驟

      ①上電后初始化系統(tǒng)時(shí)鐘。

      ②設(shè)置GPIO引腳。

      ③初始化FSMC以及LCD。

      ④配置RTC:使能PWR和BKP模塊的時(shí)鐘;使能對(duì)備份區(qū)域的訪問(wèn)。

      ⑤檢查預(yù)定義的標(biāo)記判斷RTC是否曾經(jīng)設(shè)置過(guò):預(yù)定義的標(biāo)記設(shè)置在備份區(qū)域的備份寄存器,不受系統(tǒng)掉電的影響。

      ⑥如果RTC未曾設(shè)置過(guò),則初始化RTC模塊:時(shí)鐘源LSE.和.秒中斷的產(chǎn)生。

      ⑦設(shè)置RTC計(jì)數(shù)器:以一個(gè)基準(zhǔn)作為時(shí)間原點(diǎn)。例如RTC計(jì)數(shù)值為0時(shí)表示:2008年1月1日0:0:0。輸入當(dāng)前年/月/日/時(shí)/分/秒,計(jì)算離時(shí)間原點(diǎn)的秒數(shù)。

      ⑧顯示時(shí)間:根據(jù)當(dāng)前RTC計(jì)數(shù)器的值,得到現(xiàn)在距時(shí)間原點(diǎn)的秒數(shù),反算出當(dāng)前的年/月/日/時(shí)/分/秒。

      圖8為設(shè)計(jì)流程圖。

      3.3TFTLCD顯示成果

      將程序編譯完后,通過(guò)JTAG接口下載到開(kāi)發(fā)板,顯示結(jié)果如圖9所示。

      四、總結(jié)

      STM32微控制器是近年來(lái)迅速興起的基于ARM Cortex-M3內(nèi)核的高端32位微控制器的代表,本問(wèn)對(duì)意法半導(dǎo)體STM32F103VEBT6(100腳)微控制器進(jìn)行了研究探討,分析了開(kāi)發(fā)板的各個(gè)模塊功能,并實(shí)現(xiàn)了兩個(gè)主要功能:萬(wàn)年歷顯示和圖片顯示。最后,設(shè)計(jì)中的萬(wàn)年歷實(shí)現(xiàn)及圖片顯示是擁有現(xiàn)實(shí)意義的,其可以逐步的擴(kuò)展到其它模塊,并實(shí)現(xiàn)各個(gè)模塊的結(jié)合。隨著進(jìn)一步的應(yīng)用,其最終可實(shí)現(xiàn)STM32微控制器在各應(yīng)用領(lǐng)域的應(yīng)用,如工業(yè)縫紉機(jī),游戲手柄,汽車音響等,實(shí)現(xiàn)低功耗且高性能的結(jié)合。

      參考文獻(xiàn)

      [1] Zhao Yu-mei; CHEN Fu-rong. The S2- Chemical Sensor for Ocean Monitoring[J].Ocean Technology, 2005,24(4) :57-59.

      [2] Zhao Yu-mei; CHEN Fu-rong. Research on Key Technique of Lower Concentration S2- Sensor In Situ Measurement [J]. Ocean Technology, 2008,27 (4) :33-35.

      [3] Yan Jingdong.An Improved Intelligence Sensor Data fusion Method[J].Microcomputer Information,2009,01:149~151

      [4] Joseph Yiu著,宋巖譯.ARM Cortex-M3權(quán)威指南.北京:北京航空航天大學(xué)出版社,2009.

      [5]彭剛,秦志強(qiáng).基于ARM Cortex-M3的STM32系列嵌入式微控制器應(yīng)用實(shí)踐.北京:電子工業(yè)出版社,2011.1.

      猜你喜歡
      意法開(kāi)發(fā)板外設(shè)
      Microchip最新推出兩款PIC32 Curiosity開(kāi)發(fā)板
      淺析單片機(jī)開(kāi)發(fā)板的設(shè)計(jì)與制作
      電子制作(2017年22期)2017-02-02 07:10:14
      意法半導(dǎo)體的電機(jī)控制:系統(tǒng)整合,即插即用
      電子世界(2015年22期)2015-12-29 02:49:43
      Mouser為您呈上開(kāi)發(fā)關(guān)鍵之STMicroelectronics Nucleo開(kāi)發(fā)板
      Arduino和Atmel發(fā)布Arduino Zero開(kāi)發(fā)板
      意法半導(dǎo)體與物聯(lián)網(wǎng)
      意法半導(dǎo)體(ST)推出世界首款基于ARM Cortex-M7的STM32 F7系列微控制器
      Microchip推出具備雙ADC外設(shè)的全新器件,擴(kuò)展其低成本8位PIC?單片機(jī)產(chǎn)品線
      意法半導(dǎo)體(ST)新款100V晶體管提高汽車應(yīng)用能
      貼身呵護(hù) 必不可少的PSP外設(shè)
      嘉鱼县| 衡阳市| 察雅县| 开平市| 金寨县| 遵义市| 二连浩特市| 岳阳县| 兰西县| 普定县| 灵石县| 若尔盖县| 外汇| 垣曲县| 山东省| 遂溪县| 苍山县| 奎屯市| 凤山市| 娄烦县| 海林市| 郎溪县| 南宁市| 南郑县| 游戏| 肇州县| 井陉县| 射洪县| 福海县| 昌乐县| 西充县| 海伦市| 兴文县| 东平县| 潜江市| 彭阳县| 金平| 卫辉市| 沙雅县| 清徐县| 阳泉市|