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

        ?

        基于DC10的串口擴(kuò)展編程

        2016-11-22 01:58:02白玉李智
        電子設(shè)計(jì)工程 2016年15期
        關(guān)鍵詞:嵌入式功能系統(tǒng)

        白玉,李智

        (沈陽航空航天大學(xué) 電子信息工程學(xué)院,遼寧 沈陽 110136)

        基于DC10的串口擴(kuò)展編程

        白玉,李智

        (沈陽航空航天大學(xué) 電子信息工程學(xué)院,遼寧 沈陽 110136)

        出租車車載智能終端項(xiàng)目是一個(gè)linux系統(tǒng)和安卓的一個(gè)項(xiàng)目,主要運(yùn)用到的就是串口通信。本課題針對(duì)該系統(tǒng)中的串口數(shù)目不足的問題,設(shè)計(jì)了基于STM32F103RCT6微控制器和uc/os ii操作系統(tǒng)的串口擴(kuò)展系統(tǒng)。采用上海大潮電子技術(shù)有限公司設(shè)計(jì)的一款基于STM32RCT6的串口擴(kuò)展板DC10進(jìn)行串口擴(kuò)展,實(shí)現(xiàn)車載智能終端主機(jī)和一些外設(shè)串口數(shù)據(jù)的接收和轉(zhuǎn)發(fā)。詳細(xì)描述了擴(kuò)展系統(tǒng)的軟硬件設(shè)計(jì)。通過大量的實(shí)車測(cè)試,在出租車的一天運(yùn)營(yíng)過程中,轉(zhuǎn)發(fā)數(shù)據(jù)基本不會(huì)出錯(cuò),完全可以用于實(shí)際應(yīng)用。

        STM32RCT6;uc/os ii;串口;CAN總線;定時(shí)器;看門狗

        uc/os ii是專門為計(jì)算機(jī)的嵌入式應(yīng)用設(shè)計(jì)的,該操作系統(tǒng)是一款較為簡(jiǎn)單的實(shí)時(shí)操作系統(tǒng),uc/os ii是一種基于優(yōu)先級(jí)的可搶先的硬實(shí)時(shí)內(nèi)核,具有實(shí)時(shí)任務(wù)調(diào)度的功能,擁有信號(hào)量等機(jī)制可以同步任務(wù)[1]。

        STM32RCT6是基于ARM Cortex-M3處理器的一款大容量的產(chǎn)品,采用四方扁平式封裝,共有64否個(gè)引腳,flash高達(dá)256 kB,ARM Cortex-M3處理器是專為低功耗、小尺寸、短的中斷延時(shí)和優(yōu)越的確定性而設(shè)計(jì),性價(jià)比很高。

        課題是大潮電子技術(shù)有限公司的出租車的電調(diào)系統(tǒng)終端的一部分,該電調(diào)系統(tǒng)終端主機(jī)開發(fā)環(huán)境是Linux系統(tǒng),因串口資源不夠,故需增加串口,開發(fā)出一款基于STM32RCT6的DC10板,本課題就是基于DC10板的串口擴(kuò)展系統(tǒng)的設(shè)計(jì),負(fù)責(zé)主機(jī)和外設(shè)、出租車之間的通信。

        1 系統(tǒng)硬件設(shè)計(jì)

        本課題是基于DC10板的通信系統(tǒng)的設(shè)計(jì),DC10板如圖1所示,系統(tǒng)主要由3部分組成:STM32自檢模塊、與主機(jī)交互模塊、和外設(shè)、出租車通信模塊。系統(tǒng)主控制器選用STM32F103RCT6微控制器來進(jìn)行通信的控制,USART1、USART2、USART3、UART4連接 RS232串口,UART5連接RS485串口,該DC10版的功能和連接方式如圖2所示。

        圖1 DC10板實(shí)物圖

        2 系統(tǒng)軟件設(shè)計(jì)

        2.1 軟件編程環(huán)境

        本次課題所使用的開發(fā)環(huán)境是MDK 4.70 A,是ARM公司于2009年開發(fā)出的一款開發(fā)軟件,其編譯器、調(diào)試工具都實(shí)現(xiàn)與ARM器件最完美的匹配。本次所使用的正是ARM開發(fā)出來的Cortex-M3處理器。

        2.2 uc/os ii 操作系統(tǒng)

        圖3是uc/os ii體系結(jié)構(gòu),,內(nèi)核源代碼分為3部分,第一部分為與硬件無關(guān)的內(nèi)核代碼,第二部分是與處理器有關(guān)的一直代碼,第三部分為用戶配置文件[2]。

        圖2 系統(tǒng)總體結(jié)構(gòu)圖

        圖3 uc/os ii體系結(jié)構(gòu)

        2.3 串口的配置

        在本次課題中,STM32擁有的5個(gè)串口都被全部引出,其中串口1~4連接的RS232,串口5連接的是RS485,485接口在總線上是允許連接多達(dá)128個(gè)收發(fā)器,具有多站能力[3]。

        串口2連接的是計(jì)價(jià)器,通過該串口與主機(jī)進(jìn)行通信,用于交流營(yíng)運(yùn)數(shù)據(jù)。串口3連接的是232串口攝像頭,在必要的時(shí)候進(jìn)行拍照,保留本地?cái)?shù)據(jù)并且可以上傳至平臺(tái)。串口4連接的是出租車頂燈,用于顯示此時(shí)出租車的狀態(tài)。串口5在此次設(shè)計(jì)中進(jìn)行保留,為以后增加功能時(shí)使用。

        串口1與主機(jī)進(jìn)行數(shù)據(jù)通信,通過該串口實(shí)現(xiàn)其他外設(shè)(比如計(jì)價(jià)器、串口攝像頭、頂燈等)與主機(jī)的交互功能。

        5個(gè)串口的波特率默認(rèn)9 600 bps,可以由終端主機(jī)發(fā)送數(shù)據(jù)進(jìn)行設(shè)置更改(具體更改哪一個(gè)串口,由數(shù)據(jù)中的ID決定),其他配置都是一樣而且固定的,數(shù)據(jù)位為8位,1位停止位,無奇偶校驗(yàn)位,無硬件流控制[4]。

        所有的串口的管腳配置如圖4所示。

        圖4 串口管腳配置

        其中USART1和UART4使用了管腳重映射功能,所謂串口重映射說的是串口的接收發(fā)送等引腳映射到其他的地址上,在STM32中有些功能具有管腳重映射功能,甚至有些功能還具有部分重映射和完全重映射[5]。

        USART1復(fù)用功能重映射如表1所示:

        表1 USART1復(fù)用功能重映射

        下面是USART1復(fù)用功能重映射的配置代碼,“//”后面的是注釋:

        RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB,ENABLE);

        RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO,ENABLE);

        GPIO_PinRemapConfig(GPIO_Remap_USART1,ENA BLE); //USART1端口重映射

        RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1,ENABLE);//使能USART1

        2.4 其它的配置

        時(shí)鐘:本次課題所使用的時(shí)鐘是外部高速時(shí)鐘,DC10板上外部晶振的頻率為12 MHz,經(jīng)過6倍頻設(shè)置之后,APB1上時(shí)鐘頻率為36 MHz,APB2上時(shí)鐘頻率為72 MHz,AHB上時(shí)鐘頻率為72 MHz。圖5是根據(jù)STM32的大容量產(chǎn)品的時(shí)鐘樹使用外部高速時(shí)鐘的時(shí)鐘配置流程[6]。

        圖5中,不分頻后6倍頻之后的頻率:12/1*6=72 MHz,在配置時(shí)鐘的同時(shí),還應(yīng)該進(jìn)行flash的一些配置:

        ①FLASH_PrefetchBufferCmd(FLASH_PrefetchBuffer_Enable);//配置flash預(yù)取指使能

        ②FLASH_SetLatency(FLASH_Latency_2);//FLASH的等待周期為兩個(gè)周期

        配置FLASH延時(shí)兩個(gè)周期是進(jìn)行等待總線同步操作。0~24 MHz時(shí),取Latency=0;24~48 MHz時(shí),取Latency=1;48~72 MHz時(shí),取Latency=2,本次頻率為72 MHz。

        圖5 時(shí)鐘配置流程

        中斷:STM32的NVIC中斷優(yōu)先級(jí)被分成5個(gè)組,組0~4,該分組的設(shè)置有SCB->AIRCR寄存器的bit10-8來定義的,該值決定了搶占優(yōu)先級(jí)和響應(yīng)優(yōu)先級(jí)的位數(shù),搶占優(yōu)先級(jí)高的中斷可以打斷搶占優(yōu)先級(jí)低的中斷,響應(yīng)優(yōu)先級(jí)則不能,響應(yīng)優(yōu)先級(jí)只有當(dāng)搶占優(yōu)先級(jí)相同且中斷同時(shí)到達(dá)才發(fā)揮作用。本次所采用的中斷分組是1組,即一位搶占優(yōu)先級(jí),三位響應(yīng)優(yōu)先級(jí)。

        具體中斷優(yōu)先級(jí)配置如表2所示:

        表2 中斷優(yōu)先級(jí)配置

        50 ms定時(shí)任務(wù):該任務(wù)使用TIM3的定時(shí)功能觸發(fā)中斷配合uc/os ii的信號(hào)量機(jī)制進(jìn)行同步,可以進(jìn)行精準(zhǔn)的定時(shí)[7],該任務(wù)實(shí)現(xiàn)獨(dú)立看門狗和外部看門狗的喂狗操作、獲取定時(shí)器的速度脈沖的計(jì)數(shù)(可以在主機(jī)終端發(fā)送速度獲取命令時(shí),計(jì)算速度發(fā)送至主機(jī))。

        外部看門狗:本功能使用的芯片是X25043,用SPI總線驅(qū)動(dòng)。SPI_MOSI連接X25043的SO引腳,SPI_nSS引腳連接X25043的CS引腳。使用SPI_MOSI引腳進(jìn)行配置X25043,首先需要發(fā)送寫使能,再發(fā)送寫狀態(tài)數(shù)據(jù)寄存器,最后發(fā)送要配置的狀態(tài)數(shù)據(jù)到X25043的狀態(tài)寄存器即可配置成功??撮T狗復(fù)位時(shí)間有3種選擇:1 400 ms、600 ms和200 ms。本次配置選擇600 ms。想要X25043不進(jìn)行復(fù)位,則必須使得該模塊的CS引腳不斷地切換狀態(tài),在上面的50 ms定時(shí)任務(wù)中EXDOG就是該引腳的狀態(tài)。

        TIM1速度脈沖:STM32RCT6是大容量的一款新片,所以帶有兩個(gè)高級(jí)定時(shí)器,TIM1和TIM8,其中TIM1_CH2也就是PA9被用來進(jìn)行速度脈沖的測(cè)量。STM32的計(jì)數(shù)器的時(shí)鐘選擇可以分成4類,具體分類如圖6所示。

        ①來自RCC的內(nèi)部時(shí)鐘TIMx_CLK

        ②芯片內(nèi)部其他定時(shí)器的觸發(fā)輸入ITR1、ITR2、ITR3和ITR4

        ③外部時(shí)鐘源模式1——外部捕獲引腳上的邊沿信號(hào)

        >>Pin1:TI1FP1或TI1F_ED

        >>Pin2:TI2FP2

        ④外部時(shí)鐘源模式2——外部引腳ETR。

        圖6 STM32的計(jì)數(shù)器的時(shí)鐘選擇

        庫函數(shù)中:TIM_ITRxExternalClockConfig函數(shù)設(shè)置 TIMx內(nèi)部觸發(fā)為外部時(shí)鐘模式

        TIM_TIxExternalClockConfig 函數(shù)設(shè)置 TIMx觸發(fā)為外部時(shí)鐘

        因?yàn)楸敬芜x擇的是TIM1_CH2引腳,所以只能是用外部時(shí)鐘源模式1,配置代碼如下:

        TIM_TIxExternalClockConfig (TIM1,TIM_TIxExternal-CLK1Source_TI2,TIM_ICPolarity_Rising,0);

        CAN通信:CAN總線是現(xiàn)場(chǎng)總線的一種,已經(jīng)成為汽車控制系統(tǒng)和嵌入式工業(yè)控制局域網(wǎng)的標(biāo)準(zhǔn)總線。CAN通信是通過發(fā)送郵箱發(fā)送數(shù)據(jù),接收數(shù)據(jù)是通過FIFO,CAN總線能支持多個(gè)節(jié)點(diǎn),每個(gè)報(bào)文里具有一個(gè)標(biāo)識(shí)符,報(bào)文的標(biāo)識(shí)符不代表節(jié)點(diǎn)的地址,而是和報(bào)文的內(nèi)容相關(guān)的,當(dāng)總線上有數(shù)據(jù)發(fā)送時(shí),其他節(jié)點(diǎn)都接收,通過接收過濾器識(shí)別該報(bào)文是否是是發(fā)送給自己的。

        3 結(jié)束語

        串口通信是最基本的通信方式,也是使用最廣的一種通信方式。設(shè)計(jì)了以STM32為核心的串口通信系統(tǒng),結(jié)構(gòu)簡(jiǎn)單,占用資源較少。經(jīng)過特定的協(xié)議解析,實(shí)現(xiàn)了串口數(shù)據(jù)的上傳和轉(zhuǎn)發(fā),該系統(tǒng)已經(jīng)經(jīng)過測(cè)試并投入使用,能夠更加深刻的理解和使用串口。

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

        [2]任哲,房紅征.嵌入式實(shí)時(shí)操作系統(tǒng)UC/OS-11原理及應(yīng)用[M].3版.北京:北京航空航天大學(xué)出版社,2014.

        [3]胡成華,劉傳瑞,郭文生.嵌入式網(wǎng)絡(luò)編程:串口通信、工業(yè)總線、傳感器網(wǎng)絡(luò)應(yīng)用開發(fā)[M].北京:電子工業(yè)出版社,2012.

        [4]陳瑤,李佳,宋寶華.Cortex-M3+μC/OS-II嵌入式系統(tǒng)開發(fā)入門與應(yīng)用[M].北京:人民郵電出版社,2010.

        [5]劉軍,張洋,嚴(yán)漢宇.原子教你玩STM32(庫函數(shù)版)[M].北京:北京航空航天大學(xué)出版社,2013.

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

        [7]Jean J.Labrosse.嵌入式實(shí)時(shí)操作系統(tǒng)uC/OS-II[M].邵貝貝,譯.北京:北京航空航天大學(xué)出版社,2007.

        Serial port expansion program based on DC10

        BAI Yu,LI Zhi
        (Electronic and Information Engineering,Shenyang Aerospace University,Shenyang 110136,China)

        Taxi vehicle intelligent terminal project is a project based on linux system and android and mainly use serial communications.Due to the shortage of the number of serial in the taxi vehicle intelligent terminal project,we extand serial by using DC10 board and realize receiving and forwarding intelligent vehicle terminal host and some peripheral serial data.Forwarding data cann't basically go wrong by a large of real vehicle tests during a day of opetations.It's completely used in practical application that serial expansion system based on STM32F103RCT6 and uc/os ii operating system in the design.

        STM32RCT6;uc/os ii;serial port;CAN bus;timer;watchdog

        TP271

        A

        1674-6236(2016)15-0171-03

        2015-07-17 稿件編號(hào):201507132

        白 玉(1969—),女,遼寧沈陽人,碩士,副教授。研究方向:嵌入式系統(tǒng)應(yīng)用。

        猜你喜歡
        嵌入式功能系統(tǒng)
        也談詩的“功能”
        中華詩詞(2022年6期)2022-12-31 06:41:24
        Smartflower POP 一體式光伏系統(tǒng)
        WJ-700無人機(jī)系統(tǒng)
        ZC系列無人機(jī)遙感系統(tǒng)
        搭建基于Qt的嵌入式開發(fā)平臺(tái)
        連通與提升系統(tǒng)的最后一塊拼圖 Audiolab 傲立 M-DAC mini
        關(guān)于非首都功能疏解的幾點(diǎn)思考
        嵌入式軟PLC在電鍍生產(chǎn)流程控制系統(tǒng)中的應(yīng)用
        Altera加入嵌入式視覺聯(lián)盟
        中西醫(yī)結(jié)合治療甲狀腺功能亢進(jìn)癥31例
        成在线人免费视频播放| 亚洲av无码不卡| 亚洲国产精品线路久久| 手机免费日韩中文字幕| 亚洲av综合色一区二区| 手机福利视频| 又大又粗弄得我出好多水| AV无码系列一区二区三区| 人妻精品一区二区三区蜜桃| 国产成人无码av| 国产精品揄拍100视频| 91精品亚洲一区二区三区| 李白姓白白又白类似的套路| 精品无码无人网站免费视频| 色窝窝在线无码中文| 亚洲av永久久无久之码精| 亚洲女同恋av中文一区二区| 国产又爽又黄又刺激的视频| 日韩爱爱网站| 久久精品av一区二区免费| 成人女同av在线观看网站| 国产97在线 | 中文| 日本a在线播放| 国产区一区二区三区性色| 国产特黄级aaaaa片免| 精品乱码一区二区三区四区| 又黄又爽又色的视频| aa片在线观看视频在线播放 | 国产黄三级三级三级三级一区二区 | 亚洲色偷偷色噜噜狠狠99| 日韩偷拍视频一区二区三区| 亚洲黄色一级在线观看| 亚洲欧美国产国产综合一区| 亚洲伊人久久大香线蕉影院| 丝袜美腿亚洲综合久久| 麻豆国产精品va在线观看不卡| 97在线观看| 国产精品伦人视频免费看| 小池里奈第一部av在线观看| 亚洲妇女无套内射精| 日韩欧美国产亚洲中文|