亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        ARM微控制器產(chǎn)品平臺的換型及軟硬件功能移植

        2018-06-15 08:00:54
        關(guān)鍵詞:外設(shè)微控制器板卡

        (沈陽新松機器人自動化股份有限公司,沈陽 110168)

        引 言

        近年來,消費類電子產(chǎn)品的競爭不斷加劇,以ARM微控制器(MCU)為核心的電子產(chǎn)品隨著產(chǎn)品迭代速度的不斷加快得到更廣泛的應(yīng)用。而由于受產(chǎn)品性能提升、產(chǎn)品功能增加、原控制器芯片停產(chǎn)等因素的影響,微控制器通常會面臨換型及升級。本文介紹了換型過程中需要考慮的因素、選型方案以及軟硬件功能在新平臺上的移植過程。

        1 芯片換型方案概述

        原產(chǎn)品中應(yīng)用的微控制器型號為Microchip公司的AT91SAM7X256(以下簡稱AT91),采用ARM7 TDMI架構(gòu),最高主頻達55 MHz,內(nèi)部SRAM空間為64 KB,F(xiàn)lash空間為256 KB,主要實現(xiàn)網(wǎng)絡(luò)通信、CAN通信、電量監(jiān)控、固件升級以及一些計算功能,根據(jù)功能需求移植了μC/OS-II嵌入式實時操作系統(tǒng)及LwIP嵌入式網(wǎng)絡(luò)協(xié)議棧。新產(chǎn)品中增加了新的通信協(xié)議以及更復(fù)雜的計算過程,對微控制器的主頻要求提高,且對內(nèi)部RAM及Flash容量要求更大,需要對微控制器進行升級或者換型。

        在微控制器選型時,需要綜合考慮新控制器主頻、外設(shè)接口要求、芯片體積要求、功耗要求、內(nèi)部存儲資源要求、硬件及軟件功能實現(xiàn)的難易程度、后期服務(wù)及維護的難易程度等因素。AT91微控制器采用ARM V4體系結(jié)構(gòu),在ARM體系結(jié)構(gòu)的不斷升級中逐漸被低成本、低功耗且性能更高的ARM V7-M系列微控制器所替代。通過對這一系列產(chǎn)品的市場調(diào)研,ST公司的STM32F系列產(chǎn)品及TI公司的Tiva C系列微控制器基本符合新產(chǎn)品對微控制器的主頻、外設(shè)接口、芯片體積以及內(nèi)部存儲空間要求。因為STM32F系列產(chǎn)品市場占有率較高,且STM32F具有Cortex-M0、Cortex-M3、Cortex-M4、Cortex-M7多種系列的產(chǎn)品,每一系列產(chǎn)品都有部分芯片外設(shè)接口相同,芯片引腳兼容,可直接替換升級??紤]到產(chǎn)品未來升級時可以降低板卡制作成本以及芯片的出貨量,最終選擇了STM32F407VGT6(以下簡稱STM32F407)作為新的MCU。該芯片主頻可達168 MHz,內(nèi)部SRAM存儲空間為192 KB,F(xiàn)lash存儲空間為1 MB,內(nèi)部具有以太網(wǎng)、CAN、SPI、USB、UART等多種外設(shè)接口,采用LQFP100封裝,額定功耗為500 mW左右。雖然該MCU與AT91的引腳數(shù)相同,但引腳不兼容,需要根據(jù)引腳定義重新繪制PCB;而軟件移植方面,Micrium官網(wǎng)上可以找到μC/OS-II系統(tǒng)在STM32F407下移植的工程示例,為代碼的移植過程節(jié)省了開發(fā)及調(diào)試的時間。

        2 ARM微控制器性能對比及評估

        通過對市場上主流微控制器芯片的調(diào)研,選擇了STM32F407作為新的MCU,并通過硬件指標確認其基本滿足芯片選型要求。為進一步論證方案的可行性,應(yīng)通過運行一些簡單的程序?qū)煽钚酒男阅苓M行對比,以此評定經(jīng)過選型的芯片是否滿足新的應(yīng)用需求。

        兩款芯片的性能評估主要從兩個方面入手,考察微控制器GPIO接口翻轉(zhuǎn)頻率及運算速度。首先考察的是GPIO接口翻轉(zhuǎn)的頻率,在主函數(shù)中循環(huán)翻轉(zhuǎn)某個GPIO端口的電平,應(yīng)用邏輯分析儀觀察電平翻轉(zhuǎn)情況并測量高低電平的持續(xù)時間。隨后,為了評估微控制器的運算速度,編輯了Calculate( )函數(shù),根據(jù)運算完成的時間來評估兩款微控制器的性能,評估結(jié)果如表1所列。

        表1 微控制器性能評估對照表

        在GPIO接口翻轉(zhuǎn)頻率測試的代碼中,首先要在初始化的過程中對系統(tǒng)時鐘進行設(shè)置,AT91的時鐘由外部時鐘晶振提供,通過倍頻與分頻,最終選擇了40 MHz作為系統(tǒng)時鐘頻率。而STM32F407的時鐘頻率設(shè)置文件system_stm32f4xx.c可以通過官方提供的時鐘配置文件來自動生成。為了方便計算與比較,系統(tǒng)時鐘設(shè)置為120 MHz,測試結(jié)果表明,STM32F407的電平翻轉(zhuǎn)周期為8.125 ns,占空比約為50%,波形接近方波,周期為16.25 ns,頻率為60 MHz。而AT91的I/O接口翻轉(zhuǎn)頻率除受系統(tǒng)時鐘頻率影響外,還受其自身端口通信頻率限制,頻率為6.6 MHz,占空比為50%,方波周期為304 ns,頻率為3.3 MHz。

        用于評估運算時間的Calculate函數(shù)是從產(chǎn)品應(yīng)用中提取出的一個計算函數(shù),函數(shù)包括了參數(shù)初始化及計算兩部分,運算的類型包括加、減、乘、除及乘方運算5種類型,兩款芯片采用了相同的運算函數(shù)及相同的開發(fā)環(huán)境,最終的運算時間分別為316 μs及1.36 ms, STM32F407對該函數(shù)的運算速度約等于AT91微控制器的4.3倍。

        根據(jù)上述對比可以得出結(jié)論,STM32F407微控制器的GPIO翻轉(zhuǎn)的頻率和Calculate函數(shù)運算速度都是AT91的3倍以上,滿足新功能對控制器性能的需求。另外,假設(shè)微控制器的運算速度與系統(tǒng)時鐘及DMIPS兩個參數(shù)相關(guān),并存在線性關(guān)系,則STM32F407的運算速度應(yīng)為AT91的(120×1.25)/(40×0.9)=4.2倍,與測試的實際結(jié)果近似,則微控制器的運算性能與系統(tǒng)時鐘及MIPS指標有較強的相關(guān)性。雖然微控制器的計算速度還與編譯工具的版本及代碼的編碼效率等因素相關(guān),但該方法有助于快速評估及對比MCU的運算性能,對新器件的選型有一定指導(dǎo)意義。

        3 硬件移植方案及實現(xiàn)過程

        嵌入式微控制器的最小系統(tǒng)主要包括系統(tǒng)時鐘、電源、復(fù)位電路、程序下載電路,這些基本電路是硬件功能移植過程中首要考慮的環(huán)節(jié)。雖然MCU廠商不同,體系結(jié)構(gòu)不同,但同屬ARM架構(gòu),所以在功能不變的前提下,最小系統(tǒng)的電路也基本相同,只需要根據(jù)芯片的引腳定義找到對應(yīng)的引腳即可。

        AT91最小系統(tǒng)中采用外部的18.432 MHz晶體及芯片內(nèi)部的PLL將系統(tǒng)時鐘設(shè)置為40 MHz。而在新產(chǎn)品中,為了使CAN、SPI接口通信頻率與原通信頻率保持一致,仍使用18.432 MHz的晶體及PLL將系統(tǒng)時鐘設(shè)置為40 MHz的整倍數(shù)為120 MHz,這樣既能提高系統(tǒng)的主頻、GPIO接口電平翻轉(zhuǎn)速率及MCU的運算速度,也能夠使外設(shè)接口的通信頻率與原產(chǎn)品一致,使新產(chǎn)品的板卡能夠替代原產(chǎn)品中的微控制器板卡。對于電源電路部分,由于MCU的電源電壓通常為3.3 V,電流一般不超過500 mA,所以電源電路部分基本一致。同樣相同的部分還有復(fù)位電路,只需要將復(fù)位電路的RESET網(wǎng)絡(luò)接到MCU對應(yīng)的復(fù)位引腳即可。

        MCU通常需要應(yīng)用到JTAG接口及JTAG仿真器進行程序下載及調(diào)試,但是在產(chǎn)品批量生產(chǎn)階段,為了方便生產(chǎn)人員下載固件及服務(wù)人員的現(xiàn)場維護,要求實現(xiàn)程序下載的電纜易于獲取及攜帶。原產(chǎn)品AT91可應(yīng)用工裝軟件SAM-BA和MINI USB電纜通過USB接口實現(xiàn)程序的燒錄功能。在新平臺上仍應(yīng)用此方法實現(xiàn)此功能,但因ST提供的工裝軟件STM32 Flash Loader是通過RS232串口燒錄程序,為簡化下載電纜,在新板卡上添加一個Mini USB接口,并通過PL2303HXD芯片將USB轉(zhuǎn)換為UART串口。這樣,只需要一根MINI USB電纜就可以將MCU的固件程序通過上位機及工裝軟件下載到Flash中,實現(xiàn)程序的燒錄功能。圖1和圖2是USB轉(zhuǎn)串口的電路圖,圖1中TXD和RXD是PL2303HXD芯片的串口發(fā)送及接收引腳,應(yīng)分別與STM32F407的UART串口的接收及發(fā)送引腳連接。圖2中的0 Ω電阻可用于計算機給MCU板卡單獨提供5 V電源來調(diào)試,而無需另接外部電源。

        圖1 USB轉(zhuǎn)UART芯片PL2303HXD電路圖

        圖2 USB接口電路圖

        實現(xiàn)最小系統(tǒng)的功能后,還需要重點關(guān)注MCU提供的外設(shè)接口,這些接口通常與GPIO引腳復(fù)用,通過軟件代碼的配置來實現(xiàn)不同的功能。在硬件平臺移植的過程中,應(yīng)通過閱讀芯片手冊對比不同MCU外設(shè)引腳分配的情況。AT91微控制器GPIO引腳數(shù)為62個,編號為PA0~PA30、PB0~PB30,每個端口都可以單獨配置為GPIO或者對應(yīng)的外設(shè)接口使用;STM32F407微控制器GPIO引腳數(shù)為80個,編號為PA0~PA15、PB0~PB15、PC0~PC15、PD0~PD15、PE0~PE15,可配置的I/O引腳更多,這樣配置方案也更加靈活,能夠最大限度地應(yīng)用MCU上的各個引腳。

        微控制器板卡需要實現(xiàn)多個板卡間的網(wǎng)絡(luò)通信功能,所以在板卡上集成了一個以太網(wǎng)交換機芯片KSZ8995,完成以太網(wǎng)MAC層到物理層之間的協(xié)議轉(zhuǎn)換。KSZ8995是一款低功耗、高性能的以太網(wǎng)交換芯片,內(nèi)部包括5個10/100M以太網(wǎng)收發(fā)器,具有兩種MII配置方式(MAC和PHY),可通過SPI接口對其進行初始化、參數(shù)配置、狀態(tài)管理等操作。

        圖3是以太網(wǎng)交換機芯片的外圍參考電路,芯片的左側(cè)上半部分引腳是MII的交換層接口,使用到的引腳共16個,詳細的引腳定義可以參閱芯片手冊;左側(cè)下半部分引腳是MII的物理層接口,這里由于STM32F407提供MII交換層接口,所以沒有使用。芯片右側(cè)為物理層通信接口,用于連接以太網(wǎng)變壓器及其它的網(wǎng)絡(luò)通信板卡,黑色方框圈出的是八對差分線,在PCB布線時應(yīng)按照差分布線方式做等長處理。芯片上方引腳為電源和地引腳,該芯片需要提供3.3 V、2.5 V及1.8 V電源;芯片下方引腳為SPI通信引腳、復(fù)位引腳及時鐘引腳。該芯片在初始化時需要通過MCU的SPI接口設(shè)置MII的通信頻率、通信模式(全雙工),并且發(fā)送寫使能指令開啟交換機芯片的通信功能。芯片的時鐘引腳外接一個25 MHz的晶振,因為網(wǎng)絡(luò)接口的數(shù)據(jù)采用4線傳輸方式,這樣網(wǎng)絡(luò)通信的速度最高可達100 MHz。

        圖3 以太網(wǎng)交換機芯片KSZ8995參考電路

        4 軟件差異及實現(xiàn)過程

        微控制器平臺換型帶來的軟件方面的變化體現(xiàn)在3個方面,微控制器底層驅(qū)動文件的變化、集成開發(fā)環(huán)境的變化、與μC/OS-II系統(tǒng)及LwIP以太網(wǎng)協(xié)議棧相關(guān)接口文件的變化。描述μC/OS-II系統(tǒng)及LwIP以太網(wǎng)協(xié)議棧在STM32平臺上移植的文章較多,在此不多贅述,重點介紹底層驅(qū)動文件和集成開發(fā)環(huán)境的變化。

        所謂的底層驅(qū)動文件包括引導(dǎo)文件、時鐘配置文件、BSP(板級支持包)文件以及一些微控制器和體系結(jié)構(gòu)相關(guān)的頭文件。雖然不同平臺這些文件的格式不同,但文件中的內(nèi)容不可或缺。以STM32F407為例,引導(dǎo)文件和時鐘配置文件的名稱分別為startup_stm32f4xx.s和system_stm32f4xx.c。匯編文件的作用主要包括初始化堆棧和中斷向量表,中斷向量表中定義的中斷除了系統(tǒng)異常中斷外,還包括外設(shè)中斷;時鐘配置文件的作用是通過晶振和內(nèi)部PLL設(shè)置系統(tǒng)時鐘。初始化過程結(jié)束后,引導(dǎo)文件將跳轉(zhuǎn)到主函數(shù)main中運行。AT91的引導(dǎo)文件名稱是cstartup.s79,完成堆棧及系統(tǒng)異常中斷的初始化,并將程序跳轉(zhuǎn)到main函數(shù)中運行,在main函數(shù)里完成對系統(tǒng)時鐘的設(shè)置。STM32F407的Cortex-M4內(nèi)核提供了一個NVIC(內(nèi)嵌向量中斷控制器),可實現(xiàn)中斷的嵌套、自動保存和恢復(fù),動態(tài)改變中斷優(yōu)先級等功能,并對外設(shè)中斷進行了統(tǒng)一的定義及管理。如需使用某一外設(shè)中斷,只需找到對應(yīng)的中斷并定義其內(nèi)容即可,而AT91平臺的外設(shè)中斷函數(shù)則需要用戶自行定義。

        STM32F407平臺與AT91平臺的另一個區(qū)別是BSP文件的提供。為了節(jié)省研發(fā)人員產(chǎn)品開發(fā)時間,ST提供了一個比較完善的BSP包,其中包括了微控制器主要外設(shè)接口的驅(qū)動固件庫,庫文件夾的名稱為STM32F4xx_StdPeriph_Driver,內(nèi)部包含了外設(shè)驅(qū)動文件和頭文件。庫函數(shù)中實現(xiàn)了對外設(shè)寄存器的操作,并對外封裝成一個個功能單一的函數(shù)。用戶只需要了解函數(shù)的功能,而不需要了解寄存器的定義,就可以應(yīng)用外設(shè)資源,這樣能夠顯著加快板卡開發(fā)的時間,同時也提高了上層應(yīng)用代碼的可移植性,方便日后MCU的換型升級。因為在產(chǎn)品的開發(fā)過程中,AT91沒有提供比較完善的BSP文件,為了方便代碼移植,自定義了板級支持包BSP.c文件,將對外設(shè)寄存器操作的函數(shù)封裝到該文件中,供上層應(yīng)用函數(shù)調(diào)用,并且盡量避免在應(yīng)用函數(shù)中直接操作內(nèi)部寄存器。這樣在代碼的移植過程中,只需將BSP.c文件替換為STM32F4驅(qū)動固件庫中的文件,而上層的應(yīng)用函數(shù)不需要做過多的修改。

        集成開發(fā)環(huán)境的變化也是平臺切換過程中需要考慮的因素。隨著ARM體系結(jié)構(gòu)的不斷升級,集成開發(fā)工具需要不斷更新軟件版本以支持各MCU廠商推出的最新版本的芯片。在開發(fā)AT91的代碼時,選用的是IAR V4.42版本,而開發(fā)STM32F4的代碼時,IAR軟件版本已經(jīng)升級到了V6.4,兩個版本的工程文件不兼容,且IAR V4.42版本不支持STM32F4系列的微控制器,所以新的功能不能基于原始工程文件開發(fā),而應(yīng)基于ST官網(wǎng)上提供的STM32F4系列MCU的工程示例文件來開發(fā)。文件中已經(jīng)提供了工程必備的引導(dǎo)文件、時鐘配置文件、BSP包以及主函數(shù)的定義,需要在工程中自行移植μC/OS-II系統(tǒng)、LwIP協(xié)議棧以及應(yīng)用層的相關(guān)函數(shù)。

        結(jié) 語

        [1] 黨武松,范寒柏,胡楊.STM32F207和DM9161A的高速以太網(wǎng)接口設(shè)計[J].單片機與嵌入式系統(tǒng)應(yīng)用,2013(10).

        [2] 肖繼軍.基于KS8995的以太網(wǎng)交換機設(shè)計與實現(xiàn)[J]. 科技廣場,2012(3).

        [3] 劉火良,楊森. STM32庫開發(fā)實戰(zhàn)指南:基于STM32F4[M].北京:機械工業(yè)出版社,2017.

        [4] 劉火良,楊森. STM32庫開發(fā)實戰(zhàn)指南[M].北京:機械工業(yè)出版社,2013.

        猜你喜歡
        外設(shè)微控制器板卡
        基于PCI9054的多總線通信板卡的研制
        基于FPGA的多通道模擬量采集/輸出PCI板卡的研制
        物聯(lián)網(wǎng)技術(shù)在微控制器實驗教學(xué)中的應(yīng)用
        電子制作(2017年14期)2017-12-18 07:07:58
        一種基于光纖數(shù)據(jù)傳輸?shù)亩喟蹇ㄜ浖绦驘龑懠夹g(shù)
        Atmel針對新一代物聯(lián)網(wǎng)應(yīng)用發(fā)布全新32位微控制器
        最新STM32設(shè)計工具增加對混合信號微控制器的支持
        一種通用模擬量及開關(guān)量信號采集板卡的設(shè)計
        意法半導(dǎo)體(ST)推出世界首款基于ARM Cortex-M7的STM32 F7系列微控制器
        Microchip推出具備雙ADC外設(shè)的全新器件,擴展其低成本8位PIC?單片機產(chǎn)品線
        貼身呵護 必不可少的PSP外設(shè)
        香蕉成人伊视频在线观看| 午夜久久精品国产亚洲av| 亚洲精品乱码久久久久99| 精品视频一区二区在线观看| 51精品视频一区二区三区| 亚洲区日韩精品中文字幕| 人妻中文字幕一区二区二区| 亚洲天堂线上免费av| 富婆猛男一区二区三区| 精品国产免费一区二区三区 | av无码天一区二区一三区| 视频精品熟女一区二区三区| 国产一区二区熟女精品免费| 少妇被猛烈进入到喷白浆| 在线天堂www中文| 丰满人妻熟妇乱又伦精品视| 国产真实伦视频在线视频| 日本一区二区三区激视频| 久久精品国产亚洲av天| 亚欧色一区w666天堂| 天码av无码一区二区三区四区| 无码91 亚洲| 女优av性天堂网男人天堂| 色欲av永久无码精品无码蜜桃| 乱人伦人妻中文字幕无码| 久久狠狠高潮亚洲精品暴力打| 久久综合给合久久97色| 亚洲成人精品久久久国产精品| 亚洲精品久久久久久久蜜桃| 99热久久精里都是精品6| 欧美高h视频| 亚洲综合久久中文字幕专区一区| 无码爽视频| 亚洲av成人无码网站…| 日本精品免费一区二区三区 | 国产午夜精品视频在线观看| 高清毛茸茸的中国少妇| 国产成人啪精品视频免费软件| 亚洲欧洲AV综合色无码| 免费av一区男人的天堂| 亚洲色偷偷综合亚洲avyp|