人性化輪椅設(shè)計(jì)【含CAD圖紙、說(shuō)明書(shū)】
人性化輪椅設(shè)計(jì)0附錄 A 高性能、低功耗的 8 位 AVR微處理器 Atmega16一、產(chǎn)品特性先進(jìn)的RISC結(jié)構(gòu)131條指令大多數(shù)指令執(zhí)行時(shí)間為單個(gè)時(shí)鐘周期32個(gè)8位通用工作寄存器全靜態(tài)工作工作于16MHz時(shí)性能高達(dá)16MIPS只需兩個(gè)時(shí)鐘周期的硬件乘法器非易失性程序和數(shù)據(jù)存儲(chǔ)器16K字節(jié)的系統(tǒng)內(nèi)可編程Flash擦寫(xiě)壽命:10,000次具有獨(dú)立鎖定位的可選Boot代碼區(qū)通過(guò)片上Boot程序?qū)崿F(xiàn)系統(tǒng)內(nèi)編程真正的同時(shí)讀寫(xiě)操作512字節(jié)的EEPROM擦寫(xiě)壽命:100,000次1K字節(jié)的片內(nèi)SRAM可以對(duì)鎖定位進(jìn)行編程以實(shí)現(xiàn)用戶程序的加密JTAG接口(與IEEE1149.1標(biāo)準(zhǔn)兼容)符合JTAG標(biāo)準(zhǔn)的邊界掃描功能支持?jǐn)U展的片內(nèi)調(diào)試功能通過(guò)JTAG接口實(shí)現(xiàn)對(duì)Flash、EEPROM、熔絲位和鎖定位的編程兩個(gè)具有獨(dú)立預(yù)分頻器和比較器功能的8位定時(shí)器/計(jì)數(shù)器一個(gè)具有預(yù)分頻器、比較功能和捕捉功能的16位定時(shí)器/計(jì)數(shù)器具有獨(dú)立振蕩器的實(shí)時(shí)計(jì)數(shù)器RTC四通道PWM8路10位ADC8個(gè)單端通道1TQFP封裝的7個(gè)差分通道2個(gè)具有可編程增益(1x,10x,或200x)的差分通道面向字節(jié)的兩線接口兩個(gè)可編程的串行USART可工作于主機(jī)/從機(jī)模式的SPI串行接口具有獨(dú)立片內(nèi)振蕩器的可編程看門狗定時(shí)器片內(nèi)模擬比較器特殊的處理器特點(diǎn)上電復(fù)位以及可編程的掉電檢測(cè)片內(nèi)經(jīng)過(guò)標(biāo)定的RC 振蕩器片內(nèi)/片外中斷源6種睡眠模式:空閑模式、ADC噪聲抑制模式、省電模式、掉電模式、Standby 模式以及擴(kuò)展的Standby模式I/O和封裝32個(gè)可編程的I/O口40引腳PDIP 封裝 ,44引腳TQFP封裝,與44引腳MLF封裝工作電壓:ATmega16L:2.7-5.5VATmega16: 4.5-5.5V速度等級(jí)0-8MHz ATmega16L0-16MHz ATmega16ATmega16L在1MHz,3V,25C時(shí)的功耗正常模式:1.1mA空閑模式:0.35mA掉電模式:1A二、綜述ATmega16是基于增強(qiáng)的 AVR RISC結(jié)構(gòu)的低功耗8位CMOS微控制器。由于其先進(jìn)的指令集以及單時(shí)鐘周期指令執(zhí)行時(shí)間,ATmega16的數(shù)據(jù)吞吐率高達(dá)1MIPS/MHz,從而可以緩減系統(tǒng)在功耗和處理速度之間的矛盾。AVR內(nèi)核具有豐富的指令集和32個(gè)通用工作人性化輪椅設(shè)計(jì)2寄存器。所有的寄存器都直接與算邏單元(ALU) 相連接,使得一條指令可以在一個(gè)時(shí)鐘周期內(nèi)同時(shí)訪問(wèn)兩個(gè)獨(dú)立的寄存器。這種結(jié)構(gòu)大大提高了代碼效率,并且具有比普通的CISC微控制器最高至10倍的數(shù)據(jù)吞吐率。ATmega16有如下特點(diǎn): 16K字節(jié)的系統(tǒng)內(nèi)可編程Flash(具有同時(shí)讀寫(xiě)的能力,即RWW),512字節(jié)EEPROM,1K字節(jié)SRAM ,32個(gè)通用 I/O口線,32個(gè)通用工作寄存器,用于邊界掃描的JTAG接口,支持片內(nèi)調(diào)試與編程,三個(gè)具有比較模式的靈活的定時(shí)器/ 計(jì)數(shù)器(T/C),片內(nèi) /外中斷,可編程串行USART,有起始條件檢測(cè)器的通用串行接口, 8路10位具有可選差分輸入級(jí)可編程增益(TQFP封裝)的ADC,具有片內(nèi)振蕩器的可編程看門狗定時(shí)器,一個(gè)SPI串行端口,以及六個(gè)可以通過(guò)軟件進(jìn)行選擇的省電模式。工作于空閑模式時(shí)CPU 停止工作,而USART、兩線接口、A/D轉(zhuǎn)換器、SRAM、T/C、SPI端口以及中斷系統(tǒng)繼續(xù)工作;掉電模式時(shí)晶體振蕩器停止振蕩,所有功能除了中斷和硬件復(fù)位之外都停止工作;在省電模式下,異步定時(shí)器繼續(xù)運(yùn)行,允許用戶保持一個(gè)時(shí)間基準(zhǔn),而其余功能模塊處于休眠狀態(tài);ADC噪聲抑制模式時(shí)終止CPU和除了異步定時(shí)器與ADC以外所有I/O模塊的工作,以降低ADC轉(zhuǎn)換時(shí)的開(kāi)關(guān)噪聲;Standby 模式下只有晶體或諧振振蕩器運(yùn)行,其余功能模塊處于休眠狀態(tài),使得器件只消耗極少的電流,同時(shí)具有快速啟動(dòng)能力;擴(kuò)展Standby模式下則允許振蕩器和異步定時(shí)器繼續(xù)工作。本芯片是以Atmel高密度非易失性存儲(chǔ)器技術(shù)生產(chǎn)的。片內(nèi) ISP Flash允許程序存儲(chǔ)器通過(guò)ISP 串行接口,或者通用編程器進(jìn)行編程,也可以通過(guò)運(yùn)行于AVR內(nèi)核之中的引導(dǎo)程序進(jìn)行編程。引導(dǎo)程序可以使用任意接口將應(yīng)用程序下載到應(yīng)用Flash存儲(chǔ)區(qū)(ApplicationFlash Memory)。在更新應(yīng)用Flash存儲(chǔ)區(qū)時(shí)引導(dǎo) Flash區(qū)(Boot Flash Memory) 的程序繼續(xù)運(yùn)行,實(shí)現(xiàn)了RWW 操作。通過(guò)將8位RISC CPU與系統(tǒng)內(nèi)可編程的Flash集成在一個(gè)芯片內(nèi),ATmega16 成為一個(gè)功能強(qiáng)大的單片機(jī),為許多嵌入式控制應(yīng)用提供了靈活而低成本的解決方案。ATmega16具有一整套的編程與系統(tǒng)開(kāi)發(fā)工具,包括:C語(yǔ)言編譯器、宏匯編、程序調(diào)試器/軟件仿真器、仿真器及評(píng)估板。三、引腳說(shuō)明VCC數(shù)字電路的電源GND地端口A(PA7PA0)端口A做為A/D轉(zhuǎn)換器的模擬輸入端。端口A為8位雙向I/O口,具有可編程的內(nèi)部上拉電阻。其輸出緩沖器具有對(duì)稱的驅(qū)動(dòng)3特性,可以輸出和吸收大電流。作為輸入使用時(shí),若內(nèi)部上拉電阻使能,端口被外部電路拉低時(shí)將輸出電流。在復(fù)位過(guò)程中,即使系統(tǒng)時(shí)鐘還未起振,端口A 處于高阻狀態(tài)。端口B(PB7PB0) 端口B 為8位雙向I/O口,具有可編程的內(nèi)部上拉電阻。其輸出緩沖器具有對(duì)稱的驅(qū)動(dòng)特性,可以輸出和吸收大電流。作為輸入使用時(shí),若內(nèi)部上拉電阻使能,端口被外部電路拉低時(shí)將輸出電流。在復(fù)位過(guò)程中,即使系統(tǒng)時(shí)鐘還未起振,端口B處于高阻狀態(tài)。端口C(PC7PC0) 端口C 為8位雙向I/O口,具有可編程的內(nèi)部上拉電阻。其輸出緩沖器具有對(duì)稱的驅(qū)動(dòng)特性,可以輸出和吸收大電流。作為輸入使用時(shí),若內(nèi)部上拉電阻使能,端口被外部電路拉低時(shí)將輸出電流。在復(fù)位過(guò)程中,即使系統(tǒng)時(shí)鐘還未起振,端口C處于高阻狀態(tài)。如果JTAG接口使能,即使復(fù)位出現(xiàn)引腳PC5(TDI)、PC3(TMS) 與PC2(TCK)的上拉電阻被激活。端口 D(PD7PD0)端口 D 為 8 位雙向 I/O 口,具有可編程的內(nèi)部上拉電阻。其輸出緩沖器具有對(duì)稱的驅(qū)動(dòng)特性,可以輸出和吸收大電流。作為輸入使用時(shí),若內(nèi)部上拉電阻使能,則端口被外部電路拉低時(shí)將輸出電流。在復(fù)位過(guò)程中,即使系統(tǒng)時(shí)鐘還未起振,端口 D 處于高阻狀態(tài)。RESET 復(fù)位輸入引腳。持續(xù)時(shí)間超過(guò)最小門限時(shí)間的低電平將引起系統(tǒng)復(fù)位。持續(xù)時(shí)間小于門限間的脈沖不能保證可靠復(fù)位。XTAL1 反向振蕩放大器與片內(nèi)時(shí)鐘操作電路的輸入端。XTAL2 反向振蕩放大器的輸出端。AVCC 是端口 A 與 A/D 轉(zhuǎn)換器的電源。不使用 ADC 時(shí),該引腳應(yīng)直接與 VCC 連接。使用 ADC 時(shí)應(yīng)通過(guò)一個(gè)低通濾波器與 VCC 連接。AREF A/D 的模擬基準(zhǔn)輸入引腳。具有 PWM 功能的 8 位定時(shí)器/計(jì)時(shí)器 0T/C0 是一個(gè)通用的單通道 8 位定時(shí)器/計(jì)數(shù)器模塊。其主要特點(diǎn)如下:?jiǎn)瓮ǖ烙?jì)數(shù)器比較匹配發(fā)生時(shí)清除定時(shí)器(自動(dòng)加載)無(wú)干擾脈沖,相位正確的 PWM頻率發(fā)生器外部事件計(jì)數(shù)器10 位的時(shí)鐘預(yù)分頻器人性化輪椅設(shè)計(jì)4溢出和比較匹配中斷源(TOV0 和 OCF0)綜述 Figure27 為 8 位定時(shí)器/計(jì)數(shù)器的簡(jiǎn)化框圖。CPU 可以訪問(wèn)的 I/O 寄存器,包括位和引腳,以粗體顯示。寄存器 T/C(TCNT0)和輸出比較寄存器 (OCR0)為 8 位寄存器。中斷請(qǐng)求(圖中簡(jiǎn)寫(xiě)為Int.Req.)信號(hào)在定時(shí)器中斷標(biāo)志寄存器 TIFR 都有反映。所有中斷都可以通過(guò)定時(shí)器中斷屏蔽寄存器T/C 可以通過(guò)預(yù)分頻器由內(nèi)部時(shí)鐘源驅(qū)動(dòng),或者是通過(guò) T0 引腳的外部時(shí)鐘源來(lái)驅(qū)動(dòng)。時(shí)鐘選擇邏輯模塊控制使用哪一個(gè)時(shí)鐘源與什么邊沿來(lái)增加(或降低)T/C 的數(shù)值。如果沒(méi)有選擇時(shí)鐘源 T/C 就不工作。時(shí)鐘選擇模塊的輸出定義為定時(shí)器時(shí)鐘 clkT0。雙緩沖的輸出比較寄存器 OCR0 一直與 T/C 的數(shù)值進(jìn)行比較。比較的結(jié)果可用來(lái)產(chǎn)生 PWM 波,或在輸出比較引腳 OC0 上產(chǎn)生變化頻率的輸出。比較匹配事件還將置位比較標(biāo)志 OCF0。此標(biāo)志可以用來(lái)產(chǎn)生輸出比較中斷請(qǐng)求。定義本文的許多寄存器及其各個(gè)位以通用的格式表示。小寫(xiě)的“n”取代了 T/C 的序號(hào),在此即為 0。小寫(xiě)的“x”取代了輸出比較單元通道,在此即為通道 A。但是在寫(xiě)程序時(shí)要使用精確的格式,例如使用 TCNT0 來(lái)訪問(wèn) T/C0 計(jì)數(shù)器值,等等。T/C 時(shí)鐘源 T/C 可以由內(nèi)部同步時(shí)鐘或外部異步時(shí)鐘驅(qū)動(dòng)。時(shí)鐘源是由時(shí)鐘選擇邏輯決定的,而時(shí)鐘選擇邏輯是由位于 T/C 控制寄存器 TCCR0 的時(shí)鐘選擇位 CS02:0 控制的。P81“T/C0 與 T/C1 的預(yù)分頻器”對(duì)時(shí)鐘源與預(yù)分頻有詳盡的描述。工作模式T/C和輸出比較引腳的行為-由波形發(fā)生模式(WGM01:0)及比較輸出模式(COM01:0)的控制位決定。比較輸出模式對(duì)計(jì)數(shù)序列沒(méi)有影響,而波形產(chǎn)生模式對(duì)計(jì)數(shù)序列則有影響。COM01:0 控制 PWM輸出是否為反極性。非PWM模式時(shí)COM01:0 控制輸出是否應(yīng)該在比較匹配發(fā)生時(shí)置位、清零,或是電平取反。普通模式普通模式(WGM01:0=0)為最簡(jiǎn)單的工作模式。在此模式下計(jì)數(shù)器不停地累加。計(jì)到8比特的最大值后(TOP=0xFF) ,由于數(shù)值溢出計(jì)數(shù)器簡(jiǎn)單地返回到最小值 0x00重新開(kāi)始。在TCNT0為零的同一個(gè)定時(shí)器時(shí)鐘里T/C 溢出標(biāo)志TOV0 置位。此時(shí)TOV0有點(diǎn)象第9位,只是只能置位,不會(huì)清零。但由于定時(shí)器中斷服務(wù)程序能夠自動(dòng)清零TOV0,因此可以通過(guò)軟件提高定時(shí)器的分辨率。在普通模式下沒(méi)有什么需要特殊考慮的,用戶可以隨時(shí)寫(xiě)入新的計(jì)數(shù)器數(shù)值。輸出比較單元可以用來(lái)產(chǎn)生中斷。但是不推薦在普通模式下利用輸出比較來(lái)產(chǎn)生波形,因?yàn)檫@會(huì)占用太多的CPU時(shí)間。CTC(比較匹配時(shí)清零定時(shí)器 )模式5在CTC 模式(WGM01:0=2)下OCR0 寄存器用于調(diào)節(jié)計(jì)數(shù)器的分辨率。當(dāng)計(jì)數(shù)器的數(shù)值TCNT0等于OCR0時(shí)計(jì)數(shù)器清零。OCR0定義了計(jì)數(shù)器的 TOP值,亦即計(jì)數(shù)器的分辨率。這個(gè)模式使得用戶可以很容易地控制比較匹配輸出的頻率,也簡(jiǎn)化了外部事件計(jì)數(shù)的操作。快速PWM模式(WGM01:0=3)可用來(lái)產(chǎn)生高頻的PWM波形??焖貾WM 模式與其他PWM模式的不同之處是其單斜坡工作方式。計(jì)數(shù)器從BOTTOM計(jì)到MAX,然后立即回到BOTTOM重新開(kāi)始。對(duì)于普通的比較輸出模式,輸出比較引腳 OC0在TCNT0 與OCR0匹配時(shí)清零,在BOTTOM時(shí)置位;對(duì)于反向比較輸出模式, OC0的動(dòng)作正好相反。由于使用了單斜坡模式,快速PWM模式的工作頻率比使用雙斜坡的相位修正 PWM模式高一倍。此高頻操作特性使得快速PWM模式十分適合于功率調(diào)節(jié),整流和 DAC應(yīng)用。高頻可以減小外部元器件(電感,電容) 的物理尺寸,從而降低系統(tǒng)成本。計(jì)時(shí)器數(shù)值達(dá)到MAX時(shí)T/C溢出標(biāo)志TOV0置位。如果中斷使能,在中斷服務(wù)程序可以更新比較值。工作于快速PWM模式時(shí),比較單元可以在OC0引腳上輸出PWM波形。設(shè)置COM01:0為2可以產(chǎn)生普通的PWM信號(hào);為3則可以產(chǎn)生反向 PWM波形要想在引腳上得到輸出信號(hào)還必須將OC0的數(shù)據(jù)方向設(shè)置為輸出。產(chǎn)生 PWM波形的機(jī)理是OC0寄存器在OCR0與TCNT0匹配時(shí)置位(或清零 ),以及在計(jì)數(shù)器清零(從MAX變?yōu)锽OTTOM)的那一個(gè)定時(shí)器時(shí)鐘周期清零(或置位)。輸出的PWM頻率可以通過(guò)如下公式計(jì)算得到:變量N代表分頻因子(1、8、64、256或1024)。OCR0寄存器為極限值時(shí)表示快速PWM模式的一些特殊情況。若OCR0等于BOTTOM,輸出為出現(xiàn)在第MAX+1個(gè)定時(shí)器時(shí)鐘周期的窄脈沖;OCR0 為MAX時(shí),根據(jù)COM01:0的設(shè)定,輸出恒為高電平或低電平。通過(guò)設(shè)定OC0 在比較匹配時(shí)進(jìn)行邏輯電平取反(COM01:0=1),可以得到占空比為 50%的周期信號(hào)。OCR0為0時(shí)信號(hào)有最高頻率foc2=fclk_I/O/2。這個(gè)特性類似于 CTC模式下的OC0 取反操作,不同之處在于快速PWM 模式具有雙緩沖。本文摘自Atmega16L官方數(shù)據(jù)手冊(cè)。人性化輪椅設(shè)計(jì)6附錄 , Atmega16 8 AVR , 131 - 328 16 16 MIPS 2 16K - programmable : 10.000 , Read-write EEPROM 512 : 100.0001K SRAM encryption JTAG ( IEEE 1149.1 ) JTAG JTAG , EEPROM, melt silk 72 pre- 8 pre-, 16 RTC ADC 8 10 PWM 8 2 7TQFP programmable (1x, 10x, 200x) serial USART programmable GLAVN SPI programmable , programmable RC interrupt 6 : , abatement ADC, , , , i .O 32 programmable IO40 PDIP, 44 TQFP, 44 MLF :ATmega16L:2.7 - 5.5VATmega16: 4.5 - 5.5V人性化輪椅設(shè)計(jì)8 0 - 8 MHz ATmega16L0 - 16 MHz ATmega16ATmega16L 1 , 3V, 25C : : 1.1 mA : 0.35 mA : 1 A-, ATmega16 AVR RISC CMOS 8 -. , , ATmega16 1 MIPS/, . AVR 32. (ALU) , 2 . , CISC - 10 .ATmega16 following : 16K programmable ( read-write , namely RWW), 512 EEPROM, 1K SRAM, 32 i o, 32 , JTAG, debugging , 3 (T/C), interrupts, Programmable serial USART, , 8 10 programmable () TQFP ADC, programmable, SPI , , 6 9 . C P U, USART, 2 , A/ d, SRAM, T/C, SPI , ; , , interrupt ; , , , dormant ; abatement ADC C P U ADC I o, ADC; crystal , dormant , , ; . Atmel high-density . ISP ISP, , AVR vectoring . Vectoring , download ( ApplicationFlash). OBLAST ( ) , RWW. C P U 8 RISC programmable , ATmega16 formidable - , . ATmega16 , : C - , , debugger/ , .人性化輪椅設(shè)計(jì)10-, VCC GND a (PA7.PA0) a A/ d. a 8 IO, programmable . , . , , lowly exterior . , even if , a . b (PB7.PB0) port b 8 IO, programmable . , . , , lowly exterior . , even if , port b . c (PC7.PC0) port c 8 IO, programmable . , . , , lowly exterior . , , port c . JTAG , even if PC5 (TDI), PC3 (TMS) PC2 (TCK) . d (PD7.PD0) port d 8 IO, programmable 11 . , . , , lowly exterior . , even if , port d . . . . XTAL1 . - XTAL2.AVCC port a A/D . ADC, VCC. ADC VCC. AREF A/D . 8 PWM 0.T/C0 8 . : (autoloading) non-, pre- 10 PWM interrupt (TOV0 OCF0)T/C (TCNT0) (OCR0) 8 . interrupt ( .Req. ) TIFR interrupt . interrupts 人性化輪椅設(shè)計(jì)12interrupt T/C pre- , T0 exterior. T/ ( ) c. T/ C . clkT0 . OCR0 T/ c . PWM, OC0 , P69 . OCF0. interrupt . . n T/ c, 0. x , A. . , TCNT0 T/C0 , .T/C T/C , . , , T/ CS02 TCCR0 c : 0 . T/C P810 T/C pre- 1 pre-. - T/C - (WGM01: 0) (COM01: 0) . , . COM01: 0 PWM . non-PWM COM01: , , 13(P71 ). (WGM01: 0 = 0) . . 8 ( = 0xFF), 0x00 . TCNT0 zero T/C . TOV0 . TOV0 9th, , . interrupt TOV0 , . , . interrupt. , CPU - . CTC (WGM01: 0 = 2) OCR0, CTC . TCNT0 OCR0. OCR0 , . . , . PWM (WGM01: 0 = 3) PWM. PWM PWM . , . , OC0 TCNT0 OCR0 , ; , OC0 . , PWM 人性化輪椅設(shè)計(jì)14 revise PWM . PWM , DAC. exterior (,
收藏