freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于飛思卡爾單片機(jī)的智能汽車設(shè)計(jì)-資料下載頁

2025-06-20 12:45本頁面
  

【正文】 的要求,進(jìn)行系統(tǒng)管理、消息管理、任務(wù)調(diào)度及異常處理。RTOS 優(yōu)點(diǎn):應(yīng)用程序的設(shè)計(jì)和開發(fā)變得容易,不需要大的改動(dòng)就可以增加新的功能。通過經(jīng)應(yīng)用程序劃分為若干獨(dú)立的任務(wù)模塊,使應(yīng)用程序的設(shè)計(jì)過程大為簡(jiǎn)化;而對(duì)實(shí)時(shí)性要求苛刻的事件都得到了快速、可靠的處理。RTOS 的缺點(diǎn):需要額為的 ROM/RAM 開銷、CPU 額外負(fù)荷以及內(nèi)核的費(fèi)用。通過對(duì)兩種系統(tǒng)結(jié)構(gòu)的優(yōu)缺點(diǎn)的比較,和實(shí)際智能車控制系統(tǒng)的要求選擇了前后臺(tái)系統(tǒng)。這是因?yàn)橹悄苘嚳叵到y(tǒng)相比來說是一個(gè)比較小的系統(tǒng),且MC9S12芯片資源有限,如用RTOS則需要而外的芯片資源消耗,所以選擇了第一種結(jié)構(gòu)。 軟件主流程本設(shè)計(jì)采用的控制器為飛思卡爾公司的的 16 位單片機(jī) MC9S12DG128B,軟件開發(fā)軟件開發(fā)工具采用 Metrowerks 公司開發(fā)的軟件集成開發(fā)環(huán)境 Codewarrior for HCS12,其包括集成環(huán)境 IDE、處理器專家?guī)?、全芯片仿真、可視化參?shù)顯示工具、項(xiàng)目工程管理器、C 交叉編譯器、匯編器、鏈接器以及調(diào)試器,可以完成從源代碼編輯、編譯到調(diào)試的全部工作。 東北大學(xué)秦皇島分校畢業(yè)設(shè)計(jì)(論文) 第 30 頁開發(fā)語言采用 HCS12C 語言,語法與標(biāo)準(zhǔn) C 語言基本相同,支持多種數(shù)據(jù)類型,中斷服務(wù)程序用中斷函數(shù)形式來實(shí)現(xiàn),并提供了內(nèi)嵌匯編的功能。本軟件系統(tǒng)主要由初始化模塊、參數(shù)設(shè)置模塊、數(shù)據(jù)采集模塊與控制決策模塊、速度回路控制模塊、轉(zhuǎn)向控制回路模塊等構(gòu)成,在主程序中對(duì)各個(gè)模塊進(jìn)行調(diào)用及控制。程序結(jié)構(gòu)清晰、可移植性好。主程序流程圖如圖所示。 端口分配MC9S12DG128 的片上資源十分豐富,對(duì)于本智能車所使用的 112pin 的 DG128 而言,它包含 16 路 A/D,8 路 PWM,8 路 IC/OC,以及豐富的接口協(xié)議,如 IIC、SPI、CAN 等。在該智能車系統(tǒng)的設(shè)計(jì)中,所使用的單片機(jī)口線分配如表 1 下:表1端口分配MC9S12DB128 端口 Input / Output 作用PAD00 Input 視頻輸入信號(hào)/XIRQ Input 場(chǎng)同步信號(hào)PT0 Input 行同步信號(hào)PT1 Input 速度信號(hào)開 始系 統(tǒng) 變 量 及 功 能 模 塊參 數(shù) 初 始 化參 數(shù) 設(shè) 置一 場(chǎng) 圖 象 數(shù) 據(jù) 是非 采 集 完 畢 ?控 制 算 法圖 象 信 息 處 理 與 識(shí) 別其 他 任 務(wù)是 否 為 停 車 線 ? 停 車 程 序NYYN 東北大學(xué)秦皇島分校畢業(yè)設(shè)計(jì)(論文) 第 31 頁P(yáng)WM23 Output 舵機(jī)控制PWM01 Output 驅(qū)動(dòng)電機(jī)PWM67 Output 剎車TXD0 Output 串口輸出RXD0 Input 串口輸入PORTB Output 光電管顯示PB Input 參數(shù)設(shè)置 底層驅(qū)動(dòng)程序設(shè)計(jì)在整個(gè)系統(tǒng)設(shè)計(jì)中,用到了 8 個(gè)單片機(jī)基本功能模塊:時(shí)鐘模塊、PWM 輸出模塊、外部中斷模塊、實(shí)時(shí)中斷模塊、ECT 模塊、AD 模塊、串口通信模塊以及普通 IO 模塊。據(jù)系統(tǒng)實(shí)際需求,對(duì)各個(gè)模塊進(jìn)行了初始化配置,通過對(duì)相應(yīng)數(shù)據(jù)寄存器或狀態(tài)寄存器的讀寫,實(shí)現(xiàn)相應(yīng)的功能。 時(shí)鐘模塊S12 單片機(jī)中有四個(gè)不同的時(shí)鐘,即外部晶振時(shí)鐘、鎖相環(huán)時(shí)鐘、總線時(shí)鐘和內(nèi)核時(shí)鐘。 當(dāng)前電路板采用的是 16MHz 的外部晶振,因此外部晶振時(shí)鐘為 16MHz;默認(rèn)設(shè)置下,鎖相環(huán)時(shí)鐘為 32MHz,總線時(shí)鐘為 8MHz,內(nèi)核時(shí)鐘為 16MHz。鎖相環(huán)時(shí)鐘與外部晶振時(shí)鐘的倍、分頻關(guān)系由 SYNR、REFDV 兩寄存器決定。總線時(shí)鐘用作片上外圍設(shè)備的同步,而內(nèi)核時(shí)鐘則用作 CPU 的同步,它決定了指令執(zhí)行的速度。由于采用攝像頭作為主要的尋線傳感器,為了提高 AD 采集性能,增加在一行視頻信號(hào)的時(shí)間內(nèi)的采樣點(diǎn)數(shù),我們對(duì)單片機(jī)進(jìn)行了超頻。最終,超頻后的總線時(shí)鐘為32MHz,具體設(shè)置過程為:SYNR=7。REFDV=3。while(!(CRGFLG amp。 0x08)){}CLKSEL_PLLSEL=1。 東北大學(xué)秦皇島分校畢業(yè)設(shè)計(jì)(論文) 第 32 頁 PWM 模塊脈寬調(diào)制模塊有 8 路獨(dú)立的可設(shè)置周期和占空比的 8 位 PWM 通道,每個(gè)通道配有專門的計(jì)數(shù)器。該模塊有 4 個(gè)時(shí)鐘源,能分別控制 8 路信號(hào)。通過配置寄存器可設(shè)置PWM 的使能與否、每個(gè)通道的工作脈沖極性、每個(gè)通道輸出的對(duì)齊方式、時(shí)鐘源以及使用方式。為了提高控制精度,我們將 8 位通道合并為一個(gè) 16 位道來控制舵機(jī)和電機(jī),這樣可使控制精度從 1/255 提高到 1/65536。PWM 模塊的初始化設(shè)置過程為 PWME=0x00。PWMCLK =0b00001000。//bbaabbaa 4:sa 3sb 0:SA,2:SBPWMPRCLK=0x00。 //時(shí)鐘源 A=BusClock/0= 32MHZ,時(shí)鐘源 B=BusClock/0=32MPWMSCLA =10。 //SA=A/2/10=400KHZPWMSCLB =16。 //Sb=B/2/10=1600KHZPWMCAE =0x00。 //輸出左對(duì)齊PWMPOL =0b10101010。 // 正極性輸出PWMCTL =0B11110000。PWMPER01=4000。 //a/4000=8kPWMDTY01=0。PWMPER67=4000。 //b/4000=8kPWMDTY67=0。PWMPER23=20220。 //SA/4000=100HZ 10MSPWMDTY23=1415。PWME=0B10101010。 ///ENABLE 1,3,5 7CHANNEL 外部中斷模塊視頻信息的場(chǎng)同步信號(hào)相對(duì)其他信號(hào)來說優(yōu)先級(jí)最高,所以通過 IRQ 外部中斷引腳接入。在初始化程序中對(duì)外部中斷的捕捉邊沿,并開啟外部中斷 INTCR_IRQE=1。 // IRQ select edge sensitive onlyINTCR_IRQEN=1。 // external IRQ enable 東北大學(xué)秦皇島分校畢業(yè)設(shè)計(jì)(論文) 第 33 頁 ECT 模塊ECT 模塊能實(shí)現(xiàn)輸入捕捉和輸出波形產(chǎn)生兩大功能,首先,本系統(tǒng)采用 ECT 的輸入捕捉功能捕捉行同步脈沖,完成數(shù)據(jù)點(diǎn)的采集。其初始化程序如下:TIE_C1I=0 。 //channel 0 interrupt DISableTIOS_IOS1=0 。 //channel 0 input captureTCTL4_EDG1A=1。 TCTL4_EDG1B=0。 其次,是對(duì)速度脈沖信號(hào)的采集,通過計(jì)算兩個(gè)脈沖之間的時(shí)間和測(cè)速齒輪的齒數(shù)就可以計(jì)算出智能車的速度。其初始化程序如下:TIOS_IOS0=0。 ///0。INTPUT 1。OUTPUTTSCR2_TCRE=0。TCTL4_EDG0B=0。TCTL4_EDG0A=1。TSCR1_TFFCA=0。TSCR2_TOI=1。TSCR2_PR=5。//32/32=1M。ICOVW_NOVW0=1。TIE_C0I=1。//ENABLE INPUT CAPTURE INTERRUPTTSCR1_TEN=1。 AD 模塊模數(shù)轉(zhuǎn)換器模塊有 8 路通道,精度可設(shè)置為 8 位或 10 位。另外單次轉(zhuǎn)換時(shí)間、轉(zhuǎn)換結(jié)果類型、轉(zhuǎn)換完成是否產(chǎn)生中斷、轉(zhuǎn)換序列長度等都是可以自行設(shè)置的。本次設(shè)計(jì)中需要采集的模擬量信號(hào)為攝像頭視頻信號(hào),通過 ATD0 的第 0 位進(jìn)行采集,其初始化程序如下:ATD0CTL2_ADPU=1。 //ENABLE ATD POWERATD0CTL2_AFFC=1。 // FAST CLEAR FLAG ALLATD0CTL2_ASCIE=1。 東北大學(xué)秦皇島分校畢業(yè)設(shè)計(jì)(論文) 第 34 頁ATD0CTL3_S1C=1。 //Conversion Sequence LengthATD0CTL3_S4C=0。ATD0CTL3_S2C=0。ATD0CTL3_S8C=0。 // ATD0CTL3 = ATD0CTL3_S1C_MASK。 // 每個(gè)序列 2 次轉(zhuǎn)換, No FIFO, Freeze 模式下繼續(xù)轉(zhuǎn)換ATD0CTL4_SRES8=1。ATD0CTL4_PRS=0。ATD0CTL5_DJM=1。 // 8 位精度, 1 個(gè)時(shí)鐘+4 A/D 時(shí)鐘周期, ATDClock=[BusClock*]/[PRS+1] 。 PRS=5, divider=12 // AD 時(shí)鐘 10M ATDclock=[BusClock]/[PRS + 1] *ATD0CTL5_CC=0。ATD0CTL5_CA=0。ATD0CTL5_CB=0。ATD0DIEN = 0x00。 // 禁止數(shù)字輸入 串口模塊串口通信模塊設(shè)有兩個(gè)串行通信接口 SCI1 和 SCI0,均為 TTL 電平輸出。使用時(shí),可以對(duì)波特率、數(shù)據(jù)格式(8 位或 9 位)、發(fā)送輸出極性、接收喚醒方式等進(jìn)行選擇。另外,發(fā)送和接收可分開使能,模塊中還提供了多種避免傳輸錯(cuò)誤的選項(xiàng)。在本次設(shè)計(jì),我們利用其中一個(gè)串口 SCI0,通過采用無線串口裝置搭建了調(diào)試平臺(tái),其具體設(shè)置如下:SCI0BD=208。 //SCI baud rate = SCI module clock / (16 x BR)SCI0CR1=0x00。 // normal operation, 8bit data, no paritySCI0CR2=0x0C。 // enable transmitter, enable receiver 東北大學(xué)秦皇島分校畢業(yè)設(shè)計(jì)(論文) 第 35 頁 普通 IO 模塊S12 的所有 IO 通過端口復(fù)用,可以實(shí)現(xiàn)諸多功能,當(dāng)然它們也可以配置成普通IO。根據(jù)系統(tǒng)設(shè)計(jì),普通 IO 的用途主要有: 撥碼開關(guān) 按鍵 裝飾燈 實(shí)時(shí)中斷本系統(tǒng)通過實(shí)時(shí)中斷產(chǎn)生了一個(gè) 控制周期,對(duì)速度進(jìn)行控制。實(shí)時(shí)中斷的初始化程序如下:RTICTL=0X58。 //CRGINT_RTIE=1。 圖像信息處理及道路識(shí)別程序設(shè)計(jì)由于圖像的格式是 PAL 制式,對(duì)于該制式的圖像,即將一幅圖像畫面分成兩場(chǎng)來掃描,第一場(chǎng)(奇數(shù)場(chǎng))掃描 1, 3, 5 等奇數(shù)行,第二場(chǎng)(偶數(shù)場(chǎng))掃描 2, 4, 6 等偶數(shù)行。兩場(chǎng)合起來才構(gòu)成一幅完整的圖像(稱為一幀)。這樣,每秒鐘內(nèi)光的重復(fù)次數(shù)是50 次,可以消除人眼的不適,而實(shí)際顯示的畫面只有 25 幅, 即電視掃描的場(chǎng)頻為50Hz,而幀頻為 25Hz, PAL 制式電視信號(hào)有 625 行的分辨率。但是由于 S12 單片機(jī)A/D 采樣頻率的限制,每行圖像最多只能采集到 8 個(gè)點(diǎn),還要預(yù)留部分時(shí)間給單片機(jī)做圖像信息的處理和控制算法的加載,再綜合路徑識(shí)別時(shí)對(duì)圖像信息精度的要求,最后我們采用的是單場(chǎng)數(shù)據(jù)的隔行采集,分辨率為 40*40。在大量的測(cè)試過程中發(fā)現(xiàn),這樣的分辨率也足以滿足控制的需求。其算法流程如圖所示 東北大學(xué)秦皇島分校畢業(yè)設(shè)計(jì)(論文) 第 36 頁開始讀取數(shù)據(jù)區(qū)圖象采集信息圖像信息濾波圖像分割圖像分割圖象進(jìn)行錯(cuò)誤判斷 , 提出干擾圖像信息進(jìn)行識(shí)別 , 尋出賽道控制使用 賽道提取算法賽道上的黑線相對(duì)于真?zhèn)€賽道較窄且賽道和引導(dǎo)線顏色對(duì)比鮮明,可以采二值化或邊沿檢測(cè)法對(duì)賽道上的引導(dǎo)線進(jìn)行提取。1.二值化方法要對(duì)賽道進(jìn)行提取首先要先對(duì)圖像進(jìn)行二值化,二值化的方法有很多種,表對(duì)幾種常用的方法進(jìn)行了對(duì)比。表 二值化方法分析速度 適合情況 類別雙峰法 較快 圖像需要光照均勻,有兩座明顯的雙峰 全局二值化灰度平均 快 圖像需要光照均勻 全局二值化 東北大學(xué)秦皇島分校畢業(yè)設(shè)計(jì)(論文) 第 37 頁法OSTU法 較慢 圖像需要光照均勻 全局二值化NiBlack法 非常慢 圖像質(zhì)量要求相對(duì)較低 局部二值化通過表的分析結(jié)合智能車視頻圖像特點(diǎn),選用雙峰發(fā)對(duì)圖像進(jìn)行分割。通過雙峰法計(jì)算出閾值,對(duì)賽道圖像進(jìn)行分割,閾值計(jì)算程序如下:if(i20)return((uchar)((max2+min2)/2(uchar)(Thresholdkp1*(max2min2)/100)))。 else return ((uchar)((max2+min2)/2(uchar)(Thresholdkp2*(max2min2)/100)))。2.邊沿檢測(cè)算法由于賽道是在白色底板上鋪設(shè)黑色引導(dǎo)線,因此干擾比較小,黑線提取較為容易。因此可以使用圖像處理算法中較為簡(jiǎn)單的邊界提取算法。由于黑色和白色底板之間的色差較大,直接放映在圖像數(shù)據(jù)中就是數(shù)據(jù)差值大于一個(gè)閾值,此閾值可以經(jīng)過試驗(yàn)確定。該算法的流程為:1 從最左端的第一個(gè)有效數(shù)據(jù)點(diǎn)開始一次向右進(jìn)行閾值判斷,由于實(shí)際黑白賽道邊沿可能會(huì)有模糊化,導(dǎo)致閾值并不是簡(jiǎn)單的介于相鄰的兩個(gè)點(diǎn)之間。找到閾值點(diǎn)記為start。2 從 strat 開始尋找第二個(gè)跳變點(diǎn),記為 end,則黑線中心位置為 start+end/2.考慮的算法的可靠和穩(wěn)定性,本系統(tǒng)采用了閾值分割、邊沿檢測(cè)和黑線搜索相結(jié)合的方法提取黑線。
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1