CANopen協(xié)議講座(4)之CANopen從站設(shè)備及其應(yīng)用 由于可靠性、實(shí)時(shí)性、低成本、抗干擾性、兼容能力等多個(gè)方面的優(yōu)勢(shì),CAN-bus與其高層協(xié)議CANopen已成為了車輛數(shù)據(jù)通信系統(tǒng)的事實(shí)標(biāo)準(zhǔn),并普遍應(yīng)用于所有的可移動(dòng)設(shè)施,例如船舶艦艇、客車火車、升降電梯、重載車輛、工程機(jī)械、運(yùn)動(dòng)系統(tǒng)、分布式控制網(wǎng)絡(luò)等。幾乎所有的通用I/O模塊、驅(qū)動(dòng)器、智能傳感器、PLC、MMI設(shè)備的生產(chǎn)廠商都提供有支持CAN-bus與CANopen標(biāo)準(zhǔn)的產(chǎn)品。只要符合CANopen協(xié)議標(biāo)準(zhǔn)及其設(shè)備協(xié)議子集標(biāo)準(zhǔn)的系統(tǒng),就可以在功能和接口上保證各廠商設(shè)備的互用性和可交換性。
標(biāo)簽: CANopen 協(xié)議 講座 設(shè)備
上傳時(shí)間: 2013-12-27
上傳用戶:zhangliming420
51單片機(jī)C語言編程手冊(cè)這是一本關(guān)于Intel 80C51 以及廣大的51 系列單片機(jī)的書這本書介紹給讀者一些新的技術(shù)使你的8051 工程和開發(fā)過程變得簡(jiǎn)單請(qǐng)注意這本書的目的可不是教你各種8051 嵌入式系統(tǒng)的解決方法為使問題討論更加清晰在適當(dāng)?shù)牡胤浇o出了程序代碼我們以討論項(xiàng)目的方法來說明每章碰到的問題所有的代碼都可在附帶的光盤上找到你必須熟系C 和8051 匯編因?yàn)楸緯皇且槐綜 和匯編的指導(dǎo)書你可以買到不少關(guān)于ANSI C 的書最佳選擇當(dāng)然是Intel的數(shù)據(jù)書可從你的芯片供應(yīng)商處免費(fèi)索取和隨編譯工具附送的手冊(cè)附送光盤中有我為這本書編寫和收集的程序這些程序已經(jīng)通過測(cè)試這并不意味著你可以隨時(shí)把這些程序加到你的應(yīng)用系統(tǒng)或工程中有些地方必須首先經(jīng)過修改才能結(jié)合到你的程序中這本書將教你充分使用你的工具如果你只有8051 的匯編程序你也可以學(xué)習(xí)該書和使用這些例子但是你必須把C 語言的程序裝入你的匯編程序中這對(duì)懂得C 語言和8051匯編程序指令的人來說并不是一件困難的事如果你有C 編譯器的話那恭喜你使用C 語言進(jìn)行開發(fā)是一個(gè)好的決定你會(huì)發(fā)現(xiàn)使用C 進(jìn)行開發(fā)將使你的工程開發(fā)和維護(hù)的時(shí)間大大減少如果你已經(jīng)擁有Keil C51 那你已經(jīng)選擇了一個(gè)非常好的開發(fā)工具我發(fā)現(xiàn)Keil 軟件包能夠提供最好的支持本書支持Keil C 的擴(kuò)展如果你有其它的開發(fā)工具像Archimedes 和Avocet 這本書也能很好地為你服務(wù)但你必須根據(jù)你所用的開發(fā)工具改變一些Keil 的特殊指令在書的一些地方有硬件圖實(shí)例程序在這些硬件上運(yùn)行這些圖繪制地不是很詳細(xì)主要是方框圖但足以使讀者明白軟件和硬件之間的接口讀者應(yīng)該把這本書看成工具書而不是用來學(xué)習(xí)各種系統(tǒng)設(shè)計(jì)通過本書你可以了解給定一定的硬件和軟件設(shè)計(jì)之后8051 的各種性能希望你能從本書中獲取靈感并有助于你的設(shè)計(jì)使你豁然開朗當(dāng)然我希望你也能夠從本書中學(xué)到有用的知識(shí)使之能夠提升你的設(shè)計(jì)
標(biāo)簽: 51單片機(jī)C語言 編程手冊(cè)
上傳時(shí)間: 2013-11-01
上傳用戶:cjh1129
可編程系統(tǒng)級(jí)芯片提供了最大設(shè)計(jì)的靈活性 極端靈活且完全可編程的混合信號(hào)SOC 的基本原理是促使賽普拉斯微系統(tǒng)公司(Cypress MicroSystems)推出名為PSoCTM(Programmable System-On-ChipTM,可編程系統(tǒng)級(jí)芯片)的全新一代器件的動(dòng)力所在。
標(biāo)簽: 可編程 系統(tǒng)級(jí)芯片
上傳時(shí)間: 2013-10-22
上傳用戶:playboys0
Cortex-M3 技術(shù)參考手冊(cè) Cortex-M3是一個(gè)32位的核,在傳統(tǒng)的單片機(jī)領(lǐng)域中,有一些不同于通用32位CPU應(yīng)用的要求。譚軍舉例說,在工控領(lǐng)域,用戶要求具有更快的中斷速度,Cortex-M3采用了Tail-Chaining中斷技術(shù),完全基于硬件進(jìn)行中斷處理,最多可減少12個(gè)時(shí)鐘周期數(shù),在實(shí)際應(yīng)用中可減少70%中斷。 單片機(jī)的另外一個(gè)特點(diǎn)是調(diào)試工具非常便宜,不象ARM的仿真器動(dòng)輒幾千上萬。針對(duì)這個(gè)特點(diǎn),Cortex-M3采用了新型的單線調(diào)試(Single Wire)技術(shù),專門拿出一個(gè)引腳來做調(diào)試,從而節(jié)約了大筆的調(diào)試工具費(fèi)用。同時(shí),Cortex-M3中還集成了大部分存儲(chǔ)器控制器,這樣工程師可以直接在MCU外連接Flash,降低了設(shè)計(jì)難度和應(yīng)用障礙。 ARM Cortex-M3處理器結(jié)合了多種突破性技術(shù),令芯片供應(yīng)商提供超低費(fèi)用的芯片,僅33000門的內(nèi)核性能可達(dá)1.2DMIPS/MHz。該處理器還集成了許多緊耦合系統(tǒng)外設(shè),令系統(tǒng)能滿足下一代產(chǎn)品的控制需求。ARM公司希望Cortex-M3核的推出,能幫助單片機(jī)廠商實(shí). Cortex的優(yōu)勢(shì)應(yīng)該在于低功耗、低成本、高性能3者(或2者)的結(jié)合。 Cortex如果能做到 合理的低功耗(肯定要比Arm7 & Arm9要低,但不大可能比430、PIC、AVR低) + 合理的高性能(10~50MIPS是比較可能出現(xiàn)的范圍) + 適當(dāng)?shù)牡统杀?1~5$應(yīng)該不會(huì)奇怪)。 簡(jiǎn)單的低成本不大可能比典型的8位MCU低。對(duì)于已經(jīng)有8位MCU的廠商來說,比如Philips、Atmel、Freescale、Microchip還有ST和Silocon Lab,不大可能用Cortex來打自己的8位MCU。對(duì)于沒有8位MCU的廠商來說,當(dāng)然是另外一回事,但他們?cè)趪?guó)內(nèi)進(jìn)行推廣的實(shí)力在短期內(nèi)還不夠。 對(duì)于已經(jīng)有32位ARM的廠商來說,比如Philips、Atmel、ST,又不大可能用Cortex來打自己的Arm7/9,對(duì)他們來說,比較合理的定位把Cortex與Arm7/9錯(cuò)開,即<40MIPS的性能+低于Arm7的價(jià)格,當(dāng)然功耗也會(huì)更低些;當(dāng)然這樣做的結(jié)果很可能是,斷了16位MCU的后路。 對(duì)于仍然在推廣16位MCU的廠商來說,比如Freescal、Microchip,處境比較尷尬,因?yàn)镃ortex基本上可以完全替代16位MCU。 所以,未來的1~2年,來自新廠商的Cortex比較值得期待-包括國(guó)內(nèi)的供應(yīng)商;對(duì)于已有32位ARM的廠商,情況比較有趣;對(duì)于16位MCU的廠商,反應(yīng)比較有意思。 關(guān)于編程模式 Cortex-M3處理器采用ARMv7-M架構(gòu),它包括所有的16位Thumb指令集和基本的32位Thumb-2指令集架構(gòu),Cortex-M3處理器不能執(zhí)行ARM指令集。 Thumb-2在Thumb指令集架構(gòu)(ISA)上進(jìn)行了大量的改進(jìn),它與Thumb相比,具有更高的代碼密度并提供16/32位指令的更高性能。 關(guān)于工作模式 Cortex-M3處理器支持2種工作模式:線程模式和處理模式。在復(fù)位時(shí)處理器進(jìn)入“線程模式”,異常返回時(shí)也會(huì)進(jìn)入該模式,特權(quán)和用戶(非特權(quán))模式代碼能夠在“線程模式”下運(yùn)行。 出現(xiàn)異常模式時(shí)處理器進(jìn)入“處理模式”,在處理模式下,所有代碼都是特權(quán)訪問的。 關(guān)于工作狀態(tài) Coretx-M3處理器有2種工作狀態(tài)。 Thumb狀態(tài):這是16位和32位“半字對(duì)齊”的Thumb和Thumb-2指令的執(zhí)行狀態(tài)。 調(diào)試狀態(tài):處理器停止并進(jìn)行調(diào)試,進(jìn)入該狀態(tài)。
標(biāo)簽: Cortex-M 技術(shù)參考手冊(cè)
上傳時(shí)間: 2013-12-04
上傳用戶:壞壞的華仔
PCA9673是PCF8575的升級(jí)產(chǎn)品,提供快速模式FM+的I2C-bus速度(1MHz),因此,輸出能支持PWM LED調(diào)光功能。具有高I2C總線驅(qū)動(dòng)能力(30mA),所以不需要總線緩沖器就能掛接很多器件。且灌電流能力高(200mA),能同21時(shí)驅(qū)動(dòng)多個(gè)25mA的LED,允許多個(gè)器件(16個(gè))掛接在總線上而不會(huì)產(chǎn)生地址沖突。
標(biāo)簽: C-bus 9673 PCA Fm
上傳時(shí)間: 2013-11-14
上傳用戶:evil
采用AT91SAM9261的MiniGUI 移植方案 1、圖形用戶界面MiniGUI 簡(jiǎn)介MiniGUI 是遵循GPL 條款發(fā)布的自由軟件,其目標(biāo)是為基于Linux 的實(shí)時(shí)嵌入式系統(tǒng)提供一個(gè)輕量級(jí)的圖形用戶界面支持系統(tǒng)。與QT/Embedded、MicoroWindows 等其它GUI相比,MiniGUI 的最顯著特點(diǎn)就是輕型、占用資源少。據(jù)稱MiniGUI 能夠在CPU 主頻為30MHz,僅有4MB RAM 的系統(tǒng)上正常運(yùn)行, 這是其它多種 GUI 所無法達(dá)到的。目前,MiniGUI 已經(jīng)非常成熟和穩(wěn)定,并且在許多實(shí)際產(chǎn)品和項(xiàng)目中得到了應(yīng)用。
標(biāo)簽: MiniGUI 9261 SAM AT
上傳時(shí)間: 2014-12-27
上傳用戶:fac1003
PCA9665是一款并行總線與串行I2C總線接口轉(zhuǎn)換的器件,適用于微控制器/處理器使用并行總線擴(kuò)展I2C總線接口。它支持并行總線與I2C總線雙向通信,在I2C總線上,它可以設(shè)置為主機(jī)或從機(jī),在并行總線上,它可以作為發(fā)送器或接收器。PCA9665與I2C總線的通信可以使用中斷方式或查詢方式,數(shù)據(jù)的傳輸可以執(zhí)行字節(jié)模式或緩沖區(qū)模式。PCA9665負(fù)責(zé)控制I2C總線的通訊時(shí)序、協(xié)議、仲裁和定時(shí),且不需要外部提供時(shí)鐘源。
標(biāo)簽: 9665 PCA I2C 并行總線
上傳時(shí)間: 2013-10-30
上傳用戶:zhuimenghuadie
keil c51語言使用技巧及實(shí)戰(zhàn)第一章 介紹這是一本關(guān)于Intel 80C51 以及廣大的51 系列單片機(jī)的書這本書介紹給讀者一些新的技術(shù)使你的8051 工程和開發(fā)過程變得簡(jiǎn)單請(qǐng)注意這本書的目的可不是教你各種8051 嵌入式系統(tǒng)的解決方法為使問題討論更加清晰在適當(dāng)?shù)牡胤浇o出了程序代碼我們以討論項(xiàng)目的方法來說明每章碰到的問題所有的代碼都可在附帶的光盤上找到你必須熟系C 和8051 匯編因?yàn)楸緯皇且槐綜 和匯編的指導(dǎo)書你可以買到不少關(guān)于ANSI C 的書最佳選擇當(dāng)然是Intel的數(shù)據(jù)書可從你的芯片供應(yīng)商處免費(fèi)索取和隨編譯工具附送的手冊(cè)附送光盤中有我為這本書編寫和收集的程序這些程序已經(jīng)通過測(cè)試這并不意味著你可以隨時(shí)把這些程序加到你的應(yīng)用系統(tǒng)或工程中有些地方必須首先經(jīng)過修改才能結(jié)合到你的程序中這本書將教你充分使用你的工具如果你只有8051 的匯編程序你也可以學(xué)習(xí)該書和使用這些例子但是你必須把C 語言的程序裝入你的匯編程序中這對(duì)懂得C 語言和8051匯編程序指令的人來說并不是一件困難的事如果你有C 編譯器的話那恭喜你使用C 語言進(jìn)行開發(fā)是一個(gè)好的決定你會(huì)發(fā)現(xiàn)使用C 進(jìn)行開發(fā)將使你的工程開發(fā)和維護(hù)的時(shí)間大大減少如果你已經(jīng)擁有Keil C51 那你已經(jīng)選擇了一個(gè)非常好的開發(fā)工具我發(fā)現(xiàn)Keil 軟件包能夠提供最好的支持本書支持Keil C 的擴(kuò)展如果你有其它的開發(fā)工具像Archimedes 和Avocet 這本書也能很好地為你服務(wù)但你必須根據(jù)你所用的開發(fā)工具改變一些Keil 的特殊指令在書的一些地方有硬件圖實(shí)例程序在這些硬件上運(yùn)行這些圖繪制地不是很詳細(xì)主要是方框圖但足以使讀者明白軟件和硬件之間的接口讀者應(yīng)該把這本書看成工具書而不是用來學(xué)習(xí)各種系統(tǒng)設(shè)計(jì)通過.
標(biāo)簽: keil c51 語言 使用技巧
上傳時(shí)間: 2013-11-03
上傳用戶:hfnishi
SBC8100單板機(jī)設(shè)計(jì)及使用指南 SBC8100單板機(jī)為開發(fā)者使用OMAP35x系列處理器提供了完善的硬件及軟件開發(fā)環(huán)境,支持linux-2.6.22操作系統(tǒng)及WinCE6.0操作系統(tǒng),包含完善的底層驅(qū)動(dòng)程序,并提供有成熟的操作系統(tǒng)Google Android。底板集成了WiFi/Bluetooth、GPS等功能,方便用戶體驗(yàn)OMAP35x系列處理器強(qiáng)大的數(shù)據(jù)運(yùn)算處理能力、設(shè)計(jì)系統(tǒng)驅(qū)動(dòng)及其定制應(yīng)用軟件。
標(biāo)簽: 8100 SBC 單板 使用指南
上傳時(shí)間: 2013-11-20
上傳用戶:weareno2
at91rm9200啟動(dòng)過程教程 系統(tǒng)上電,檢測(cè)BMS,選擇系統(tǒng)的啟動(dòng)方式,如果BMS為高電平,則系統(tǒng)從片內(nèi)ROM啟動(dòng)。AT91RM9200的ROM上電后被映射到了0x0和0x100000處,在這兩個(gè)地址處都可以訪問到ROM。由于9200的ROM中固化了一個(gè)BOOTLOAER程序。所以PC從0X0處開始執(zhí)行這個(gè)BOOTLOAER(準(zhǔn)確的說應(yīng)該是一級(jí)BOOTLOADER)。這個(gè)BOOTLOER依次完成以下步驟: 1、PLL SETUP,設(shè)置PLLB產(chǎn)生48M時(shí)鐘頻率提供給USB DEVICE。同時(shí)DEBUG USART也被初始化為48M的時(shí)鐘頻率; 2、相應(yīng)模式下的堆棧設(shè)置; 3、檢測(cè)主時(shí)鐘源(Main oscillator); 4、中斷控制器(AIC)的設(shè)置; 5、C 變量的初始化; 6、跳到主函數(shù)。 完成以上步驟后,我們可以認(rèn)為BOOT過程結(jié)束,接下來的就是LOADER的過程,或者也可以認(rèn)為是裝載二級(jí)BOOTLOER。AT91RM9200按照DATAFLASH、EEPROM、連接在外部總線上的8位并行FLASH的順序依次來找合法的BOOT程序。所謂合法的指的是在這些存儲(chǔ)設(shè)備的開始地址處連續(xù)的存放的32個(gè)字節(jié),也就是8條指令必須是跳轉(zhuǎn)指令或者裝載PC的指令,其實(shí)這樣規(guī)定就是把這8條指令當(dāng)作是異常向量表來處理。必須注意的是第6條指令要包含將要裝載的映像的大小。關(guān)于如何計(jì)算和寫這條指令可以參考用戶手冊(cè)。一旦合法的映像找到之后,則BOOT程序會(huì)把找到的映像搬到SRAM中去,所以映像的大小是非常有限的,不能超過16K-3K的大小。當(dāng)BOOT程序完成了把合法的映像搬到SRAM的任務(wù)以后,接下來就進(jìn)行存儲(chǔ)器的REMAP,經(jīng)過REMAP之后,SRAM從映設(shè)前的0X200000地址處被映設(shè)到了0X0地址并且程序從0X0處開始執(zhí)行。而ROM這時(shí)只能在0X100000這個(gè)地址處看到了。至此9200就算完成了一種形式的啟動(dòng)過程。如果BOOT程序在以上所列的幾種存儲(chǔ)設(shè)備中找到合法的映像,則自動(dòng)初始化DEBUG USART口和USB DEVICE口以準(zhǔn)備從外部載入映像。對(duì)DEBUG口的初始化包括設(shè)置參數(shù)115200 8 N 1以及運(yùn)行XMODEM協(xié)議。對(duì)USB DEVICE進(jìn)行初始化以及運(yùn)行DFU協(xié)議。現(xiàn)在用戶可以從外部(假定為PC平臺(tái))載入你的映像了。在PC平臺(tái)下,以WIN2000為例,你可以用超級(jí)終端來完成這個(gè)功能,但是還是要注意你的映像的大小不能超過13K。一旦正確從外部裝載了映像,接下來的過程就是和前面一樣重映設(shè)然后執(zhí)行映像了。我們上面講了BMS為高電平,AT91RM9200選擇從片內(nèi)的ROM啟動(dòng)的一個(gè)過程。如果BMS為低電平,則AT91RM9200會(huì)從片外的FLASH啟動(dòng),這時(shí)片外的FLASH的起始地址就是0X0了,接下來的過程和片內(nèi)啟動(dòng)的過程是一樣的,只不過這時(shí)就需要自己寫啟動(dòng)代碼了,至于怎么寫,大致的內(nèi)容和ROM的BOOT差不多,不同的硬件設(shè)計(jì)可能有不一樣的地方,但基本的都是一樣的。由于片外FLASH可以設(shè)計(jì)的大,所以這里編寫的BOOTLOADER可以一步到位,也就是說不用像片內(nèi)啟動(dòng)可能需要BOOT好幾級(jí)了,目前AT91RM9200上使用較多的bootloer是u-boot,這是一個(gè)開放源代碼的軟件,用戶可以自由下載并根據(jù)自己的應(yīng)用配置。總的說來,筆者以為AT91RM9200的啟動(dòng)過程比較簡(jiǎn)單,ATMEL的服務(wù)也不錯(cuò),不但提供了片內(nèi)啟動(dòng)的功能,還提供了UBOOT可供下載。筆者寫了一個(gè)BOOTLODER從片外的FLASHA啟動(dòng),效果還可以。 uboot結(jié)構(gòu)與使用uboot是一個(gè)龐大的公開源碼的軟件。他支持一些系列的arm體系,包含常見的外設(shè)的驅(qū)動(dòng),是一個(gè)功能強(qiáng)大的板極支持包。其代碼可以 http://sourceforge.net/projects/u-boot下載 在9200上,為了啟動(dòng)uboot,還有兩個(gè)boot軟件包,分別是loader和boot。分別完成從sram和flash中的一級(jí)boot。其源碼可以從atmel的官方網(wǎng)站下載。 我們知道,當(dāng)9200系統(tǒng)上電后,如果bms為高電平,則系統(tǒng)從片內(nèi)rom啟動(dòng),這時(shí)rom中固化的boot程序初始化了debug口并向其發(fā)送'c',這時(shí)我們打開超級(jí)終端會(huì)看到ccccc...。這說明系統(tǒng)已經(jīng)啟動(dòng),同時(shí)xmodem協(xié)議已經(jīng)啟動(dòng),用戶可以通過超級(jí)終端下載用戶的bootloader。作為第一步,我們下載loader.bin.loader.bin將被下載到片內(nèi)的sram中。這個(gè)loder完成的功能主要是初始化時(shí)鐘,sdram和xmodem協(xié)議,為下載和啟動(dòng)uboot做準(zhǔn)備。當(dāng)下載了loader.bin后,超級(jí)終端會(huì)繼續(xù)打印:ccccc....。這時(shí)我們就可以下在uboot了。uboot將被下載到sdram中的一個(gè)地址后并把pc指針調(diào)到此處開始執(zhí)行uboot。接著我們就可以在終端上看到uboot的shell啟動(dòng)了,提示符uboot>,用戶可以u(píng)boot>help 看到命令列表和大概的功能。uboot的命令包含了對(duì)內(nèi)存、flash、網(wǎng)絡(luò)、系統(tǒng)啟動(dòng)等一些命令。 如果系統(tǒng)上電時(shí)bms為低電平,則系統(tǒng)從片外的flash啟動(dòng)。為了從片外的flash啟動(dòng)uboot,我們必須把boot.bin放到0x0地址出,使得從flash啟動(dòng)后首先執(zhí)行boot.bin,而要少些boot.bin,就要先完成上面我們講的那些步驟,首先開始從片內(nèi)rom啟動(dòng)uboot。然后再利用uboot的功能完成把boot.bin和uboot.gz燒寫到flash中的目的,假如我們已經(jīng)啟動(dòng)了uboot,可以這樣操作: uboot>protect off all uboot>erase all uboot>loadb 20000000 uboot>cp.b 20000000 10000000 5fff uboot>loadb 21000000 uboot>cp.b 210000000 10010000 ffff 然后系統(tǒng)復(fù)位,就可以看到系統(tǒng)先啟動(dòng)boot,然后解壓縮uboot.gz,然后啟動(dòng)uboot。注意,這里uboot必須壓縮成.gz文件,否則會(huì)出錯(cuò)。 怎么編譯這三個(gè)源碼包呢,首先要建立一個(gè)arm的交叉編譯環(huán)境,關(guān)于如何建立,此處不予說明。建立好了以后,分別解壓源碼包,然后修改Makefile中的編譯器項(xiàng)目,正確填寫你的編譯器的所在路徑。 對(duì)loader和boot,直接make。對(duì)uboot,第一步:make_at91rm9200dk,第二步:make。這樣就會(huì)在當(dāng)前目錄下分別生成*.bin文件,對(duì)于uboot.bin,我們還要壓縮成.gz文件。 也許有的人對(duì)loader和boot搞不清楚為什么要兩個(gè),有什么區(qū)別嗎?首先有區(qū)別,boot主要完成從flash中啟動(dòng)uboot的功能,他要對(duì)uboot的壓縮文件進(jìn)行解壓,除此之外,他和loader并無大的區(qū)別,你可以把boot理解為在loader的基礎(chǔ)上加入了解壓縮.gz的功能而已。所以這兩個(gè)并無多大的本質(zhì)不同,只是他們的使命不同而已。 特別說名的是這三個(gè)軟件包都是開放源碼的,所以用戶可以根據(jù)自己的系統(tǒng)的情況修改和配置以及裁減,打造屬于自己系統(tǒng)的bootloder。
標(biāo)簽: 9200 at 91 rm
上傳時(shí)間: 2013-10-27
上傳用戶:wsf950131
蟲蟲下載站版權(quán)所有 京ICP備2021023401號(hào)-1