999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于串口的單片機(jī)參數(shù)在線下載方法

2018-04-09 11:22:40欒婷王效亮劉志蕾
電子技術(shù)與軟件工程 2018年5期

欒婷 王效亮 劉志蕾

摘 要 本文研究一種利用XC164的內(nèi)嵌引導(dǎo)程序加載機(jī)制實(shí)現(xiàn)控制參數(shù)在線調(diào)整的方法。文章介紹了實(shí)現(xiàn)機(jī)制,分析了設(shè)計(jì)原理,完整地給出了上下位機(jī)軟件及接口的設(shè)計(jì)和實(shí)現(xiàn)情況。該方法目前已成功的應(yīng)用在控制系統(tǒng)性能調(diào)試中,操作簡單明了,提高了系統(tǒng)調(diào)試的工作效率,極大地減少了軟件設(shè)計(jì)人員的重復(fù)工作量。

【關(guān)鍵詞】串口 XC164 參數(shù)下載

1 引言

隨著數(shù)字集成電路的高速發(fā)展,電機(jī)驅(qū)動(dòng)多采用單片機(jī)或DSP來控制,控制算法采用軟件編程的方式內(nèi)嵌入控制芯片,實(shí)現(xiàn)控制要求。在控制算法建模完成后,通常需要在真實(shí)系統(tǒng)中對(duì)控制參數(shù)進(jìn)行多次調(diào)整才能滿足控制性能的要求,這需要多次更改代碼中的控制參數(shù),多次編譯程序并燒寫到控制芯片中,稍有不慎,就會(huì)改錯(cuò)地方,或在不期望變動(dòng)的地方產(chǎn)生變動(dòng),出現(xiàn)安全隱患,且對(duì)后期問題的查找?guī)砗芏嗖槐恪1疚慕榻B一種通過串口燒寫控制參數(shù)的參數(shù)在線下載方法。

2 設(shè)計(jì)原理簡析

本文采用英飛凌公司的XC164單片機(jī)作為控制芯片實(shí)現(xiàn)一種不更改程序修改參數(shù)的功能。XC164 的內(nèi)嵌引導(dǎo)程序加載器(BSL)提供了一種加載啟動(dòng)程序的機(jī)制,通過串行接口實(shí)現(xiàn)。BSL機(jī)制可以用來加載Flash器件的編程程序。硬件復(fù)位時(shí),進(jìn)入BSL模式后將自動(dòng)進(jìn)行相應(yīng)的初始化,引腳TxD0設(shè)置為輸出,BLS向提供加載數(shù)據(jù)的主機(jī)返回一個(gè)ID字節(jié)。發(fā)送ID字節(jié)后,BLS通過ASC0接口循環(huán)接收數(shù)據(jù),并將數(shù)據(jù)存入用戶指定的任意地址單元。該數(shù)據(jù)可以是最終的應(yīng)用程序代碼,也可以是更高級(jí)的加載程序,還可以是一段代碼。XC164芯片片上Flash存儲(chǔ)器由多個(gè)可以獨(dú)立進(jìn)行寫保護(hù)、擦除和編程的扇區(qū)組成,基于BSL機(jī)制,可以通過將程序和參數(shù)加載到不同的Flash區(qū)中來實(shí)現(xiàn)參數(shù)下載功能。

原理圖如圖1所示,將Flash空間分配為代碼數(shù)據(jù)存儲(chǔ)區(qū)和下載參數(shù)存儲(chǔ)區(qū),通過上位機(jī)軟件將程序代碼和下載參數(shù)分別寫入Flash的不同區(qū)域中,再通過內(nèi)嵌入XC164芯片的軟件執(zhí)行讀取、使用下載參數(shù)的功能。

3 程序空間使用和分配

要實(shí)現(xiàn)參數(shù)下載首先需要為下載參數(shù)分配Flash空間,下面給出XC164芯片的空間分配情況和參數(shù)下載的空間分配情況。

3.1 XC164芯片空間分配

XC164的存儲(chǔ)器空間為馮諾伊曼體系架構(gòu)。即程序存儲(chǔ)器、數(shù)據(jù)存儲(chǔ)器、寄存器和IO口組織在同一個(gè)線性地址空間內(nèi),容量高達(dá)16MB。整個(gè)存儲(chǔ)器空間可按字節(jié)或字訪問。XC164單片機(jī)有兩段片上程序存儲(chǔ)區(qū),可用于代碼數(shù)據(jù)的存儲(chǔ)。第一是程序Flash/ROM,可用于代碼和常量數(shù)據(jù)的存儲(chǔ);第二是程序SRAM,可用于存儲(chǔ)臨時(shí)代碼序列以及其他數(shù)據(jù)信息,掉電后數(shù)據(jù)被擦除。片上Flash存儲(chǔ)器由四個(gè)8KB扇區(qū)、一個(gè)32KB扇區(qū)和一個(gè)64KB扇區(qū)組成。每個(gè)扇區(qū)可分別進(jìn)行寫保護(hù)、擦除和編程。片上Flash模塊扇區(qū)映射見圖2。

扇區(qū)0:0x00C00000~0x00C01FFF(8K);

扇區(qū)1:0x00C02000~0x00C03FFF(8K);

扇區(qū)2:0x00C04000~0x00C05FFF(8K);

扇區(qū)3:0x00C06000~0x00C07FFF(8K);

扇區(qū)4:0x00C08000~0x00C0FFFF(32K);

扇區(qū)5:0x00C10000~0x00C1FFFF(64K)。

3.2 在線下載參數(shù)空間分配

在編譯過程中程序會(huì)自動(dòng)將代碼和常量數(shù)據(jù)存貯在芯片的Flash區(qū)域中,根據(jù)編譯環(huán)境的不同,存儲(chǔ)的位置會(huì)有所差別。本文中使用的編譯環(huán)境為Keil4,扇區(qū)0為代碼和常量的起始存儲(chǔ)位置,扇區(qū)2為數(shù)據(jù)的起始存儲(chǔ)位置,為了給程序留出足夠的存儲(chǔ)空間,避免存儲(chǔ)空間沖突,本設(shè)計(jì)將下載參數(shù)分配到扇區(qū)5,下載控制參數(shù)時(shí)只對(duì)該片F(xiàn)lash區(qū)單獨(dú)擦寫,不會(huì)影響其他區(qū)域的內(nèi)容。

4 參數(shù)下載功能實(shí)現(xiàn)

參數(shù)下載主要需實(shí)現(xiàn)如圖3的3個(gè)步驟,首先通過參數(shù)轉(zhuǎn)換模塊將參數(shù)轉(zhuǎn)換成為能夠燒寫到控制芯片中的格式,然后通過燒寫軟件實(shí)現(xiàn)燒寫功能,燒寫過程中從上位機(jī)到控制芯片需要進(jìn)行電平轉(zhuǎn)換,最后,控制芯片中的控制程序在檢測(cè)到燒寫完成的參數(shù)后將參數(shù)讀出執(zhí)行閉環(huán)控制。

4.1 參數(shù)轉(zhuǎn)換功能實(shí)現(xiàn)

本設(shè)計(jì)中參數(shù)直接由燒錄軟件通過串口燒寫到芯片的Flash中,必須將參數(shù)轉(zhuǎn)換成.H86或.hex文件格式才能燒寫到Flash中。Hex文件的編碼規(guī)則以行為單位,,每行以冒號(hào)開頭,內(nèi)容全部為16進(jìn)制碼(ASCII碼)。將某一值為100的整型參數(shù)放在0x00C10001地址中,編寫的Hex文件如下:

:0200000400C13B

:02000100640067

:00000001FF

:0200000400C03A看作 0x02,0x00,0x00,0x04,0x00,0xc1,0x3b。其中0x02代表數(shù)據(jù)長度,其后的0x00,0x00為地址,0x04為數(shù)據(jù)類型,0x00,0xc1為數(shù)據(jù),0x3a為校驗(yàn)和。其中數(shù)據(jù)類型分為以下幾類:00—數(shù)據(jù)記錄、01—文件結(jié)束記錄、02—擴(kuò)展段地址記錄、03—開始段地址記錄、04—擴(kuò)展線性地址記錄、05—開始線性地址記錄。本行文件數(shù)據(jù)類型為0x04,那么隨后數(shù)據(jù)的基地址為(0x00c1<<16)|0x0000。

:02000100640067看作 0x02,0x00,0x00,0x00,0x64,0x00,0x67。其中0x02代表數(shù)據(jù)長度,其后的0x00,0x01為地址,0x00為數(shù)據(jù)類型,數(shù)據(jù)類型為數(shù)據(jù)記錄,0x64,0x00為數(shù)據(jù),0x67為校驗(yàn)和。由于上一行中數(shù)據(jù)類型為擴(kuò)展線性地址記錄,因此數(shù)據(jù)存儲(chǔ)的地址為(0x00c1<<16)|0x0000+0x0001=0x00C10001。

:00000001FF為每個(gè)Hex文件的最后一行,代表文件結(jié)束。

按照上述規(guī)則,根據(jù)協(xié)議將參數(shù)轉(zhuǎn)換成hex文件。本設(shè)計(jì)中采用C#語言編寫參數(shù)轉(zhuǎn)換功能的界面和轉(zhuǎn)換程序,流程如圖4。

界面如圖5,點(diǎn)擊打開數(shù)據(jù)按鈕打開參數(shù)文件,可直接使用或進(jìn)行更改。點(diǎn)擊啟動(dòng)轉(zhuǎn)換按鈕即可生成需要的hex文件。點(diǎn)擊參數(shù)下載按鈕打開參數(shù)燒寫軟件,執(zhí)行參數(shù)下載功能。

4.2 參數(shù)下載功能實(shí)現(xiàn)

Memtool工具是英飛凌公司提供的串口程序燒寫軟件,支持Flash空間的單獨(dú)擦寫,支持多種hex文件到單片機(jī)的燒錄。在Memtool工具中選擇芯片型號(hào),將自動(dòng)顯示該型號(hào)芯片的Flash分布情況,利用此工具,可以直接將生成的hex文件寫入指定Flash片區(qū)。下載界面如圖6所示。

本參數(shù)下載采用串口實(shí)現(xiàn),需要實(shí)現(xiàn)TTL電平到RS232之間的轉(zhuǎn)換,本設(shè)計(jì)采用max232芯片完成電平轉(zhuǎn)換。

4.3 下位機(jī)程序設(shè)計(jì)

下位機(jī)中參數(shù)在線下載部分軟件設(shè)計(jì)的流程圖如圖7所示。首先為保證控制的有效性,為控制參數(shù)賦一組默認(rèn)值,在程序運(yùn)行時(shí),檢測(cè)參數(shù)下載區(qū)是否有參數(shù),如果有,將參數(shù)更新為下載參數(shù)。下載分配地址范圍是:0x00C10000~0x00C1FFFF(64K),每個(gè)參數(shù)分配16位或32位數(shù)據(jù)空間,須與上位機(jī)制定協(xié)議一致。

5 結(jié)果及結(jié)論

基于串口的單片機(jī)參數(shù)下載方法已成功的應(yīng)用在控制系統(tǒng)性能調(diào)試中,極大地減少了軟件設(shè)計(jì)人員的工作量,提高了控制系統(tǒng)調(diào)試的工作效率,縮短了控制系統(tǒng)的開發(fā)周期。

此方法是直接將下載參數(shù)轉(zhuǎn)換成二進(jìn)制文件后再燒錄到Flash中,只需更改參數(shù)下載地址,就可以靈活的應(yīng)用與其他單片機(jī),方法通用性很強(qiáng)。

參考文獻(xiàn)

[1]朱德爽,胡鳳燕,胡復(fù)明等譯.C#完全手冊(cè)[美]Herbert Schildt 著[M].電子工業(yè)出版社,2002.

[2]張曉斌,周鑫,鄭先成.基于RS_232的FLASH在線編程研究[J].機(jī)電一體化,2011.

[3]朱艷芳,李艷娟,楊茜,付士.一種基于RS422的DSP應(yīng)用程序的在線升級(jí)方法[J].制造技術(shù)研究,2015(10):5.

[4]XC164-16內(nèi)嵌C166SV2核的16位單片微控制器第1卷:系統(tǒng)單元,infineon Technologies Asia Pacific,2006.

[5]XC164-16內(nèi)嵌C166SV2核的16位單片微控制器第2卷:外設(shè)單元,infineon Technologies Asia Pacific,2006.

作者單位

北京精密機(jī)電控制設(shè)備研究所 北京市 100076

主站蜘蛛池模板: 国产丰满大乳无码免费播放| 中文字幕在线免费看| 日韩欧美中文字幕在线精品| 国产一区二区在线视频观看| 色悠久久综合| 亚瑟天堂久久一区二区影院| 日本人又色又爽的视频| 秋霞午夜国产精品成人片| 97超碰精品成人国产| 91外围女在线观看| 国产欧美精品专区一区二区| 激情视频综合网| 亚洲三级色| 国产系列在线| 伊人天堂网| 久久国产精品嫖妓| www.91在线播放| 91黄视频在线观看| 成人午夜网址| 日韩A级毛片一区二区三区| 99在线视频免费| 91热爆在线| 亚洲黄色片免费看| 秋霞一区二区三区| 在线无码九区| 亚洲第一黄片大全| 午夜国产在线观看| 99青青青精品视频在线| 欧美视频在线第一页| 国产va免费精品| 亚洲美女一区二区三区| 无码中字出轨中文人妻中文中| 国产黑人在线| 亚洲区欧美区| 精品国产91爱| 欧美视频在线不卡| 亚洲精品成人片在线播放| 亚洲无码精彩视频在线观看| 色综合五月| 白浆视频在线观看| 99久久人妻精品免费二区| 国产精品无码翘臀在线看纯欲| 高h视频在线| 欧美 亚洲 日韩 国产| 国产美女久久久久不卡| 欧美一区日韩一区中文字幕页| 91国内外精品自在线播放| 孕妇高潮太爽了在线观看免费| 丰满的熟女一区二区三区l| 亚洲国产欧美中日韩成人综合视频| 67194亚洲无码| 国产欧美日韩综合一区在线播放| 亚洲精品国产精品乱码不卞 | 在线国产综合一区二区三区| 久久中文字幕av不卡一区二区| 丁香五月激情图片| 青青草综合网| 欧美成人精品高清在线下载| 人人91人人澡人人妻人人爽| 日本三级欧美三级| 天天综合色网| 在线观看91精品国产剧情免费| 亚洲小视频网站| 色妞永久免费视频| 国产精品黑色丝袜的老师| 特级做a爰片毛片免费69| 亚洲国产成人超福利久久精品| 欧美综合区自拍亚洲综合天堂| 久操线在视频在线观看| 在线免费观看AV| 久久不卡国产精品无码| 久久99蜜桃精品久久久久小说| JIZZ亚洲国产| 欧美日韩精品一区二区视频| 日韩国产亚洲一区二区在线观看| 亚洲精品视频在线观看视频| 亚洲成人网在线观看| 成人国产精品视频频| 精品一区二区无码av| 国产丰满大乳无码免费播放| 午夜日韩久久影院| 天堂久久久久久中文字幕|