隨著電力電子技術(shù)、計(jì)算機(jī)技術(shù)和新型永磁材料的不斷發(fā)展,為提出一種利用電子換向原理實(shí)現(xiàn)永磁無(wú)刷電動(dòng)機(jī)控制創(chuàng)造了條件。特別是近幾年推出的數(shù)字信號(hào)處理器(DSP)芯片,解決了原來(lái)微處理器結(jié)構(gòu)復(fù)雜,單片微處理速度達(dá)不到實(shí)時(shí)系統(tǒng)控制的要求,為無(wú)刷電動(dòng)機(jī)的復(fù)雜算法提供了軟硬件基礎(chǔ)。
本文從設(shè)計(jì)要求和功能出發(fā),設(shè)計(jì)了一種用于混合動(dòng)力汽車的電池管理系統(tǒng)。其中硬件系統(tǒng)包括:電源模塊、基于OZ890 的單體電壓采集電路和I2C 通信電路、基于DSP 的RS232串口通信和CAN 通信等硬件系統(tǒng)的設(shè)計(jì);軟件系統(tǒng)包括:利用周期中斷和下溢中斷實(shí)現(xiàn)數(shù)據(jù)采集處理、SOC 估算和各種通信程序。
一個(gè)定義為volatile的變量是說(shuō)這變量可能會(huì)被意想不到地改變,這樣,編譯器就不會(huì)去假設(shè)這個(gè)變量的值了。精確地說(shuō)就是,優(yōu)化器在用到這個(gè)變量時(shí)必須每次都小心地重新讀取這個(gè)變量的值,而不是使用保存在寄存器里的備份。
關(guān)于異常處理,分為三部分:1. ARM異常和模式:core處理異常時(shí)的操作,幾種模式介紹。2. Vector table:3. 異常優(yōu)先級(jí)4. lr偏移:幾種異常如何返回
嵌入式設(shè)備的軟件平臺(tái)是確保該設(shè)備完全具備既定功能的要素。廠商首先需要對(duì)設(shè)備在功能要求和硬件配置上作短期和長(zhǎng)期的評(píng)估,并決定哪種操作系統(tǒng)最能適合這些需求。操作系統(tǒng)將自始至終影響開(kāi)發(fā)周期、許可證成本、成品的可靠性和安全性。
ARM 編譯程序通常將全局變量對(duì)齊到自然尺寸邊界上,以便通過(guò)使用 LDR和 STR 指令有效地存取這些變量。這種內(nèi)存訪問(wèn)方式與多數(shù) CISC (Complex Instruction Set Computing)體系結(jié)構(gòu)不同,在CISC體系結(jié)構(gòu)下,指令直接存取未對(duì)齊的數(shù)據(jù)。因而,當(dāng)需要將代碼從CISC 體系結(jié)構(gòu)向 ARM 處理器移植時(shí),內(nèi)存訪問(wèn)的地址對(duì)齊問(wèn)題必須予以注意。在RISC體系結(jié)構(gòu)下,存取未對(duì)齊數(shù)據(jù)無(wú)論在代碼尺寸或是程序執(zhí)行效率上,都將付出非常大的代價(jià)。
vi是Linux系統(tǒng)的第一個(gè)全屏幕交互式編輯程序,它從誕生至今一直得到廣大用戶的青睞,歷經(jīng)數(shù)十年仍然是人們主要使用的文本編輯工具,足以見(jiàn)其生命力之強(qiáng),而強(qiáng)大的生命力是其強(qiáng)大的功能帶來(lái)的。由于大多數(shù)讀者在此之前都已經(jīng)用慣了Windows平臺(tái)上的編輯器,因此,在剛剛接觸時(shí)總會(huì)或多或少不適應(yīng),但只要習(xí)慣之后,就能感受到它的方便與快捷。
在上一章中,讀者已經(jīng)知道了進(jìn)程是一個(gè)程序的一次執(zhí)行。這里所說(shuō)的進(jìn)程一般是指運(yùn)行在用戶態(tài)的進(jìn)程,而由于處于用戶態(tài)的不同進(jìn)程之間是彼此隔離的,就像處于不同城市的人們,它們必須通過(guò)某種方式來(lái)進(jìn)行通信,例如人們現(xiàn)在廣泛使用的手機(jī)等方式。本章就是講述如何建立這些不同的通話方式,就像人們有多種通信方式一樣。
自由開(kāi)源軟件在嵌入式應(yīng)用上,受到青睞,Linux日益成為主流的嵌入式操作系統(tǒng)之一。隨著摩托羅拉手機(jī)A760、IBM智能型手表WatchPad、夏普PDA Zaurus等一款款高性能“智能數(shù)碼產(chǎn)品”的出現(xiàn),以及Motolola、三星、MontaVista、飛利浦、Nokia、IBM、SUN等眾多國(guó)際頂級(jí)巨頭的加入。
有了一個(gè)初步的了解后,讀者是否想親自試一下?其實(shí)安裝Linux是一件很容易的事情,不過(guò)在開(kāi)始安裝之前,還需要了解一下在Linux安裝過(guò)程中可能遇到的一些基本知識(shí)以及它與Windows的區(qū)別。
ARM是一類嵌入式微處理器,同時(shí)也是一個(gè)公司的名字。ARM公司于1990年11月成立于英國(guó)劍橋,它是一家專門從事16/32位RISC微處理器知識(shí)產(chǎn)權(quán)設(shè)計(jì)的供應(yīng)商。ARM公司本身不直接從事芯片生產(chǎn),而只是授權(quán)ARM內(nèi)核,再給生產(chǎn)和銷售半導(dǎo)體的合作伙伴,同時(shí)也提供基于ARM架構(gòu)的開(kāi)發(fā)設(shè)計(jì)技術(shù)。
Linux中的文件類型與Windows有顯著的區(qū)別,其中最顯著的區(qū)別在于Linux對(duì)目錄和設(shè)備都當(dāng)作文件來(lái)進(jìn)行處理,這樣就簡(jiǎn)化了對(duì)各種不同類型設(shè)備的處理,提高了效率。Linux中主要的文件類型分為4種:普通文件、目錄文件、鏈接文件和設(shè)備文件。
交叉編譯的概念在第4章中已經(jīng)詳細(xì)講述過(guò),搭建交叉編譯環(huán)境是嵌入式開(kāi)發(fā)的第一步,也是必備的一步。搭建交叉編譯環(huán)境的方法很多,不同的體系結(jié)構(gòu)、不同的操作內(nèi)容甚至是不同版本的內(nèi)核,都會(huì)用到不同的交叉編譯器,而且,有些交叉編譯器經(jīng)常會(huì)有部分的bug,這都會(huì)導(dǎo)致最后的代碼無(wú)法正常地運(yùn)行。因此,選擇合適的交叉編譯器對(duì)于嵌入式開(kāi)發(fā)是非常重要的。
當(dāng)用戶在命令行下工作時(shí),不是直接同操作系統(tǒng)內(nèi)核交互信息的,而是由命令解釋器接受命令,分析后再傳給相關(guān)的程序。shell是一種Linux中的命令行解釋程序,就如同command.com是DOS下的命令解釋程序一樣,為用戶提供使用操作系統(tǒng)的接口。它們之間的關(guān)系如圖2.1所示。用戶在提示符下輸入的命令都由shell先解釋然后傳給Linux內(nèi)核。
學(xué)吧
夜是打火機(jī)
18713271819cxy
賈仁明
bu一樣的煙火
mikeniu
chris527
LBSEric
21CI2133
洛奇ing
SIASGUOJIe
逮到一只程序猿
zx66
zhaoyuan
建志的智
sdwfywl
cgyyds
云城a
shaolw
ti-funs
劉劍君
帶偷子
shaoniany
陳震偉
2334599288
helloyyll
怪打野題
liqinglong1023
cxk1998