單片機原理及應用(第二版) 課件 (柴鈺)第6、7章 高性能微處理器、單片機應用系統設計_第1頁
單片機原理及應用(第二版) 課件 (柴鈺)第6、7章 高性能微處理器、單片機應用系統設計_第2頁
單片機原理及應用(第二版) 課件 (柴鈺)第6、7章 高性能微處理器、單片機應用系統設計_第3頁
單片機原理及應用(第二版) 課件 (柴鈺)第6、7章 高性能微處理器、單片機應用系統設計_第4頁
單片機原理及應用(第二版) 課件 (柴鈺)第6、7章 高性能微處理器、單片機應用系統設計_第5頁
已閱讀5頁,還剩301頁未讀, 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

第6章高性能微處理器6.18位高性能微處理器C8051F0406.216位微處理器MSP430F1496.332位微處理器STM32F103

6.18位高性能微處理器C8051F040

6.1.1C8051F040單片機簡介C8051F040單片機是完全集成的混合信號系統級芯片,具有與8051兼容的微控制器內核,與MCS-51指令集完全兼容。除了具有標準8052的數字外設部件之外,片內還集成了數據采集和控制系統中常用的模擬部件和其他數字外設及功能部件。

C8051F040的特征如下:

25MIPS8051CPU;

4352B的RAM;

外部數據存儲接口;

?5個16位定時器,可編程計數器陣列(PCA);

12位ADC:100kb/s,8位ADC:500kb/s;

12位DAC;

JTAG非侵入式在系統調試;

64KBFlash;

?

CAN2.0B,32個目標信息;

兩個UART,SPI,SMBus/I2C;

?64個I/O口;

?60V輸入的PGA;

有比較器、電壓基準、溫度傳感器;

工作溫度為?-40℃~+85℃,采用TQFP-100封裝。

C8051F040單片機的內部結構框圖和引腳圖如圖6.1所示,各引腳的定義如表6.1所示。

圖6.1C8051F040單片機的內部結構框圖和引腳圖圖6.1C8051F040單片機的內部結構框圖和引腳圖

6.1.2C8051F處理器特性

1.CIP-51內核

C8051F040單片機采用流水線結構,機器周期由標準的12個系統時鐘周期降為1個系統時鐘周期,處理能力大大提高,峰值性能可達25MIPS(百萬條指令/秒)。C8051F040單片機是真正能獨立工作的片上系統(SOC)。MCU能有效地管理模擬和數字外設,可以關閉單個或全部外設以節省功耗。

CIP-51指令與MCS-51指令系統全兼容,共有111條指令。表6.2為指令數所對應的時鐘周期數。

圖6.2是幾個典型MCU指令的執行速度對照圖。圖6-2MCU指令的執行速度

2.運行模式

CIP-51有兩種可軟件編程的電源管理方式:空閑和停機。在空閑方式,CPU停止運行,而外設和時鐘處于活動狀態。在停機方式,CPU停止運行,所有的中斷和定時器(時鐘丟失檢測器除外)都處于非活動狀態,系統時鐘停止。由于在空閑方式下時鐘仍然運行,因此功耗與進入空閑方式之前的系統時鐘頻率和處于活動狀態的外設數目有關。停機方式消耗最少的功率。

每個模擬外設在不用時都可以被禁止,使其進入低功耗方式。

(1)空閑方式:將空閑方式選擇位(PCON.0)置1將使CIP-51停止CPU運行并進入空閑方式,在執行完對該位置1的指令后,MCU立即進入空閑方式。在空閑方式下,所有內部寄存器和存儲器都保持原來的數據不變。所有模擬和數字外設在空閑方式期間都可以保持活動狀態。

(2)停機方式:將停機方式選擇位(PCON.1)置1將使CIP-51進入停機方式,在執行完對該位置1的指令后,MCU立即進入停機方式。在停機方式,CPU和振蕩器都被停止,實際上所有的數字外設都停止工作。在進入停機方式之前,必須關閉每個模擬外設,只有內部或外部復位能結束停機方式。復位時,CIP-51進行正常的復位過程并從地址0x0000開始執行程序。

3.中斷系統

標準的8051只有5個中斷源。C8051F040單片機擴展了中斷處理,這對于實時多任務系統的處理是很重要的。擴展的中斷系統向CIP-51提供了20個中斷源,允許大量的模擬和數字外設中斷。一個中斷處理需要較少的CPU干預,卻有更高的執行效率。表6.3為中斷一覽表。

6.1.3存儲器組織結構

1.數據存儲器

CIP-51具有標準8051的程序和數據地址配置。片內存儲器組織圖如圖6.3所示,包括256B的RAM,其中高128B只能用直接尋址訪問的SFR地址空間方式訪問;低128B可用直接或間接尋址方式訪問,前32B為四個通用工作寄存器區,接下來的16B既可以按字節尋址也可以按位尋址。C8051F040除了內部可擴展4KB數據RAM外,片外還可擴展至64KB數據RAM。圖6.3片內存儲器組織圖

2.程序存儲器

C8051F040單片機程序存儲器為64KB的Flash存儲器,該存儲器可按512B為一扇區編程,也可以在線編程,且不需在片外提供編程電壓。該程序存儲器未用到的扇區均可由用戶按扇區作為非易失性數據存儲器使用。

6.1.4外圍設備

1.交叉開關

交叉開關功能框圖如圖6.4所示。圖6.4交叉開關功能框圖

2.定時器

圖6.5所示為定時器0和定時器1的功能框圖;圖6.6所示為定時器2、定時器3和定時器4的功能框圖。圖6.5定時器0和定時器1的功能框圖圖6.6定時器2、定時器3和定時器4的功能框圖

3.比較器

C8051F040內部有三個電壓比較器,比較器功能框圖如圖6.7所示。圖6.7比較器功能框圖

4.模/數轉換器

C8051F040具有一個12位模/數轉換器ADC0和一個8位模/數轉換器ADC2。其中,ADC0子系統包括一個9通道的可編程模擬多路選擇器(AMUX0),一個可編程增益放大器(PGA0)和一個100ks/s、12位分辨率的逐次逼近寄存器型ADC,ADC中集成了跟蹤保持電路和可編程窗口檢測器。AMUX0、PGA0、數據轉換方式及窗口檢測器都可用軟件通過特殊功能寄存器來控制。只有當ADC0控制寄存器中的AD0EN位被置1時ADC0子系統(ADC0、跟蹤保持器和PGA0)才被允許工作。當AD0EN位為0時,ADC0子系統處于低功耗關斷方式。ADC0功能框圖如圖6.8所示。圖6.8ADC0功能框圖

除了12位的ADC子系統ADC0之外,C8051F040還有一個8位ADC子系統,即ADC2,它有一個8通道輸入多路選擇器和可編程增益放大器。該ADC工作在500ks/s的最大采樣速率時可提供真正的8位精度。ADC2的電壓基準可以在模擬電源電壓(AV+)和外部VREF引腳之間選擇。用戶可以通過軟件將ADC2置于關斷狀態以節省功耗。ADC2的可編程增益放大器的增益可以被編程為0.5、1、2或4。ADC2也有靈活的轉換控制機制,允許用軟件命令(AD2BUSY位寫1)、定時器(Timer2或Timer3)溢出或外部信號輸入(CNVSTR)啟動ADC2轉換;用軟件命令(AD0BUSY位寫1)可以使ADC2與ADC0同步轉換,ADC2功能框圖如圖6.9所示。圖6.9ADC2功能框圖

5.數/模轉換器

C8051F040內部有兩個12位電壓輸出的DAC,12位DAC功能框圖如圖6.10所示。

圖6.1012位DAC功能框圖

6.UART0串行通信

UART0具有硬件地址識別和錯誤檢測功能。UART0可以工作在全雙工異步方式或半雙工同步方式,并支持多處理器通信。接收數據被暫存于一個保持寄存器中,這就允許UART0在軟件尚未讀取前一個數據字節的情況下開始接收第二個輸入數據字節。一個接收覆蓋位用于指示新的接收數據已被鎖存到接收緩沖器而前一個接收數據尚未被讀取。圖6.11所示為UART0的功能框圖。圖6.11UART0的功能框圖

7.UART1串行通信

UART1是一個異步、全雙工串口,它提供標準8051串行口的方式1和方式3。UART1具有增強的波特率發生器電路,多個時鐘源可用于產生標準波特率。接收數據緩沖機制允許UART1在軟件尚未讀取前一個數據字節的情況下開始接收第二個輸入數據字節。

圖6.12所示為UART1的功能框圖。圖6.12UART1的功能框圖

8.SPI總線

串行外設接口(SPI0)提供了一個可靈活訪問的全雙工串行總線。SPI0可以作為主器件或從器件,有3線工作方式和4線工作方式,并支持在同一總線上連接多個主器件和從器件。從選擇信號(NSS)可以被配置為輸入,以選擇從方式下的SPI0,或在多主環境中禁止主器件方式操作,以避免兩個以上主器件試圖同時進行數據傳輸時產生沖突。NSS還可以被配置為主方式下的片選輸出,或在3線操作時被禁止。在主方式下,可以用通用端口I/O引腳選擇多個從器件。圖6.13所示為SPI0的功能框圖。

圖6.13SPI0的功能框圖

9.SMBus總線

SMBusI/O接口是一個雙線雙向的串行總線。與I2C串行總線兼容并完全符合系統管理總線規范1.1版。系統控制器對總線的讀/寫操作都是以字節為單位的,由SMBus接口控制數據的串行傳輸??梢圆捎醚娱L時鐘低電平時間的方法協調同一總線上不同速度的器件。圖6.14所示為SMBus的功能框圖。圖6.14SMBus的功能框圖

10.CAN總線控制器

C8051F040具有控制器局域網(CAN)控制器,用CAN協議進行串行通信。SiliconLabsCAN控制器符合Bosch規范2.0A(基本CAN)和2.0B(全功能CAN),方便了在CAN網絡上的通信。CAN控制器包含一個CAN核、消息RAM(獨立于CIP-51的RAM)、消息處理狀態機和控制寄存器。SiliconLabsCAN是一個協議控制器,不提供物理層驅動器(即收發器)。

圖6.15所示為CAN的功能框圖。圖6.15CAN的功能框圖

11.JTAG調試和邊界掃描

由于所用芯片的引腳多,元器件體積小,板的密度特別大,根本沒有辦法進行下探針測試。于是產生了一種新的測試技術——聯合測試行為組織(JointTestActionGroup,JTAG)。這種新的測試方法即邊界掃描(BoundaryScan)測試規范,簡稱JTAG標準。JTAG主要應用于電路的邊界掃描測試和可編程芯片的在線系統編程。

6.216位微處理器MSP430F149

6.2.1MSP430F14x系列單片機簡介德州儀器公司的MSP430系列是一種超低功耗微控制器系列,由針對各種不同應用模塊組合特性的多種型號單片機組成,可適應不同應用層次的需求。在硬件架構上,MSP430提供了五種低功耗模式,可最大限度地延長手持設備的電池壽命。

MSP430F149的特征如下:

低電源電壓范圍:1.8~3.6V。

超低功耗:

待機模式:1.6μA;

關閉模式(RAM保持):0.1μA;

活動模式:280μA(1MHz,2.2V下)。

圖6.16MSP430F149單片機內部結構框圖和引腳圖圖6.16MSP430F149單片機內部結構框圖和引腳圖

6.2.2MSP430處理器特性

1.CPU

MSP430處理單元具有16位RISC結構,這種結構對應用程序開發高度透明。除了程序流程控制指令之外的所有操作都需通過寄存器操作來執行,寄存器作為源操作數時具有七種尋址方式,作為目的操作數時具有四種尋址方式。

MSP430處理器內部寄存器如圖6.17所示圖6.17MSP430處理器內部寄存器

2.指令集

指令集為這種寄存器結構提供了一種強大和易用的匯編語言。這個指令集由三種格式和七種尋址方式的51條指令組成,表6.5給出了三類指令格式的總結和例子,尋址方式在表6.6中列出。

3.運行模式

MSP430具有一種程序運行模式和五種軟件可選的低功耗運行模式。一個中斷事件可以將芯片從五種低功耗模式中的任何一種喚醒為請求服務并在從中斷程序返回時恢復低功耗模式。

下列六種運行模式由軟件配置:

4.中斷向量地址

如表6.7所示,中斷向量和上電啟動地址位于存儲器中0FFFFh-0FFE0h的地址范圍內,各向量包含相應中斷處理程序指令序列的16位地址。

5.特殊功能寄存器

大多數中斷和模塊的使能位被集中于最低地址空間,有分配功能用途的特殊功能寄存器位在物理上并不存在于器件中,這種安排可提供簡單的軟件訪問。

1)中斷使能寄存器1和2

中斷使能寄存器1各位定義如下:

中斷使能寄存器2各位定義如下:

2)中斷標志寄存器1和2

中斷使能寄存器1各位定義如下:

3)模塊使能寄存器1和2

中斷使能寄存器1各位定義如下:

6.2.3存儲器組織結構

1.存儲器組織

存儲器地址空間及功能的組織結構如表6.8所示。

2.引導裝載程序(BootStrapLoader,BSL)

MSP430的引導裝載程序允許用戶通過UART接口對閃速存儲器或RAM進行編程。各種寫、讀和擦除操作需要正確的下載環境,具體如下:

3.閃速存儲器

閃速存儲器可通過JTAG接口、BSL或者微處理器內核CPU進行訪問。閃速存儲器的特征包含如下幾點:

閃速存儲器有n段主存儲器和每段128B的兩段信息存儲器(A和B),主存儲器每個段長為512B。

段0到n可以一步擦除,也可以每段分別擦除。

段A和B可以分別擦除,或與段0到n作為一組擦除;段A和B也可稱作信息存儲器。

由于生產測試的需要,新出廠器件的信息存儲器可能存在被寫入一些數據的可能,所以用戶在初次使用前應先對存儲器進行一次擦除。

6.2.4外圍設備

MSP430的片內外圍設備通過數據總線、地址總線和控制總線與CPU相連,用戶可通過內存操作指令對其進行操作。

1.數字I/O

有6個8位端口,即P1到P6,其功能如下:

所有單個I/O口均可獨立編程;

任何輸入、輸出和中斷條件的組合都是可能的;

端口P1和P2的所有8位都支持外部事件的中斷處理;

支持所有指令對端口控制寄存器的讀/寫訪問。

2.振蕩器和系統時鐘

MSP430F14x系列微處理器的時鐘系統由一個32768Hz的晶體振蕩器和一個內部DCO及一個高頻晶體振蕩器與幾個基本時鐘模塊組成?;緯r鐘模塊是為了滿足低系統成本和低功耗的要求而設計的。內部DCO提供了一個可快速開啟的時鐘源,穩定時間小于6μs。

基本時鐘模塊提供了以下時鐘信號:

輔助時鐘(ACLK),由32768Hz晶振或高頻晶振產生;

主時鐘(MCLK),提供CPU的系統時鐘;

次主時鐘(SMCLK),提供外圍設備模塊的子系統時鐘。

3.看門狗定時器

看門狗定時器(WDT)模塊的主要功能是在軟件發生混亂之后執行一次受控系統重啟,如果選定的時間間隔到期,將發生一次系統復位。如果應用中不需要看門狗功能,則看門狗定時器模塊也可以作為一個定時器使用。

4.硬件乘法器

乘法操作由一個專門的外圍模塊支持,模塊執行16×16、16×8、8×16、8×8位操作,模塊能夠支持有符號和無符號乘法以及有符號和無符號的乘加操作,在操作數裝載到外設寄存器以后,操作結果能夠被立即訪問,無需另外的時鐘周期。

5.USART0和USART1

在MSP430F14x中有兩個USART外設:USART0和USART1。兩者具有相同的功能,它們用不同的引腳通信,用不同的寄存器控制模塊。相同功能的寄存器具有不同的地址。

通用同步/異步接口是一個用于串行通信的專門的外設模塊,利用雙緩沖的發送和接收通道,USART支持同步SPI(3或4個腳)和異步UART通信協議,7位或8位長度的數據流能夠按一個由程序或外部時鐘確定的速率傳送。UART模塊選項允許僅接收一個完整幀的第一個字節,然后應用軟件來判決是否成功處理了數據。

6.比較器_A

比較器模塊的主要功能是支持A/D應用中的精密斜率轉換、電池電壓監管和外部模擬信號監控。比較器被連接到端口引腳P2.3(正端)和P2.4(負端)上。比較器通過CACTL寄存器中的8個位控制。

7.ADC12

ADC12模塊支持快速12位模/數轉換,它由一個12位逐次逼近轉換技術內核、采樣選擇控制、參考輸出和16位的轉換與控制緩沖區構成。這個轉換和控制緩沖區允許多達16個獨立ADC采樣樣本被轉換并存儲,采樣過程不需要任何CPU介入。

8.定時器_A3

定時器_A3模塊提供一個16位計數器和3個捕獲/比較寄存器。定時器_A3可以支持多個捕獲/比較、PWM輸出和間隔定時。定時器_A3還具有擴展中斷的功能。計數器溢出和每一個捕獲/比較寄存器都可能產生中斷。

9.定時器_B7

定時器_B7模塊提供一個16位計數器和7個捕獲/比較寄存器。定時器_B7可以支持多個捕獲/比較、PWM輸出和間隔定時。定時器_B7還具有擴展中斷的功能。計數器溢出和每一個捕獲/比較寄存器都可能產生中斷。

6.332位微處理器STM32F1036.3.1STM32F103xx系列單片機簡介STM32F103xx增強型系列單片機使用高性能的ARM?Cortex?-M332位的RISC內核,工作頻率為72MHz,內置高速存儲器(高達512KB的閃存和64KB的SRAM),豐富的增強I/O端口和連接到兩條APB總線的外設。所有型號的器件都包含3個12位的ADC、4個通用16位定時器和2個PWM定時器,還包含標準和先進的通信接口:多達2個I2C接口、3個SPI接口、2個I2S接口、1個SDIO接口、5個USART接口、1個USB接口和1個CAN接口。

STM32F103xx的特征如下:

內核:ARM32位的Cortex?-M3CPU:

—最高72MHz工作頻率,在存儲器的0等待周期訪問時可達1.25DMips/?MHz(Dhrystone2.1);

—單周期乘法和硬件除法。

存儲器:

——256~512KB的閃存程序存儲器;

——高達64KB的SRAM。

時鐘、復位和電源管理:

——2.0~3.6V供電和I/O引腳;

——上電/斷電復位(POR/PDR)、可編程電壓監測器(PVD);

——4~16MHz晶體振蕩器;

——內嵌經出廠調校的8MHz的RC振蕩器;

——內嵌帶校準的40kHz的RC振蕩器和32kHz的RTC振蕩器。

低功耗:

——睡眠、停機和待機模式;

——VBAT為RTC和后備寄存器供電。

?3個12位模/數轉換器,1μs轉換時間(多達21個輸入通道)。

?2通道12位D/A轉換器。

?DMA:12通道DMA控制器。其支持的外設有:定時器、ADC、DAC、SDIO、I2S、SPI、I2C和USART。

調試模式:

——串行單線調試(SWD)和JTAG接口;

——Cortex-M3內嵌跟蹤模塊(ETM)。

多達112個快速I/O端口:

——51/80/112個多功能雙向的I/O口,所有I/O口可以映像到16個外部中斷;

——幾乎所有端口均可接收5V信號。

多達11個定時器:

——多達4個16位定時器,每個定時器有多達4個用于輸入捕獲/輸出比較/PWM或脈沖計數的通道和增量編碼器輸入;

——2個16位帶死區控制和緊急剎車、用于電機控制的PWM高級控制定時器;

——2個看門狗定時器(獨立的和窗口型的);

——系統時間定時器:24位自減型計數器;

——2個16位基本定時器用于驅動DAC。

多達13個通信接口:

——多達2個I2C接口(支持SMBus/PMBus);

——多達5個USART接口(支持ISO7816、LIN、IrDA接口和調制解調控制);

——多達3個SPI接口(18Mb/s),2個可復用的I2S接口;

——CAN接口(2.0B主動);

——USB2.0全速接口;

——SDIO接口。

CRC計算單元,96位的芯片唯一代碼。

ECOPACK?封裝。

器件型號列表如下:

STM32F103RE單片機內部結構框圖和引腳圖如圖6.18所示,各引腳的定義如表6.9所示。

圖6.18STM32F103RE單片機內部結構框圖和引腳圖

6.3.2STM32F103xx器件一覽

表6.10給出了STM32F103xC、STM32F103xD和STM32F103xE器件功能與配置說明。

6.3.3系列之間的全兼容性

STM32F103xx是一個完整的系列,其成員之間是完全地腳對腳兼容,軟件和功能上也兼容。在參考手冊中,STM32F103x4和STM32F103x6被歸為小容量產品,TM32F103x8和STM32F103xB被歸為中等容量產品,STM32F103xC、STM32F103xD和STM32F103xE被歸為大容量產品。

STM32F103x4、STM32F103x6、STM32F103xC、STM32F103xD和STM32F103xE可直接替換中等容量的STM32F103x8/B產品,為用戶在產品開發中嘗試使用不同的存儲容量提供了更大的自由度。表6.11詳細介紹了STM32F103xx系列產品的相關信息。

6.3.4ARM?的Cortex?-M3處理器特性

1.CPU

ARM的Cortex?-M3處理器是最新一代的嵌入式ARM處理器,它為實現MCU的需要提供了低成本的平臺,縮減了引腳數目,降低了系統功耗,同時提供了卓越的計算性能和先進的中斷系統響應。

2.CRC(循環冗余校驗)計算單元

CRC(循環冗余校驗)計算單元使用一個固定的多項式發生器,從一個32位的數據字產生一個CRC碼。在眾多的應用中,基于CRC的技術被用于驗證數據傳輸或存儲的一致性。在EN/IEC60335-1標準的范圍內,它提供了一種檢測閃存存儲器錯誤的手段,CRC計算單元可以用于實時地計算軟件的簽名,并與在鏈接和生成該軟件時產生的簽名對比。

3.時鐘與啟動

系統時鐘的選擇是在啟動時進行的,復位時內部8MHz的RC振蕩器被選為默認的CPU時鐘,隨后可以選擇外部的、具有失效監控的4~16MHz時鐘;當檢測到外部時鐘失效時,它將被隔離,系統將自動地切換到內部的RC振蕩器,如果使能了中斷,軟件可以接收到相應的中斷。同樣,在需要時可以采取對PLL時鐘完全的中斷管理(如當一個間接使用的外部振蕩器失效時)。

4.自舉模式

在啟動時,通過自舉引腳可以選擇三種自舉模式中的一種,包括從程序閃存存儲器自舉,從系統存儲器自舉以及從內部SRAM自舉,自舉加載程序(Bootloader)存放于系統存儲器中,可以通過USART1對閃存重新編程。

5.供電方案

ARM的CortexTM—M3處理器電源引腳連接方案如圖6.19所示。圖6.19電源引腳連接方案

6.供電監控器

本產品內部集成了上電復位(POR)/掉電復位(PDR)電路,該電路始終處于工作狀態,保證系統在供電超過2V時工作;當VDD低于設定的閾值(VPOR/PDR)時,置器件于復位狀態,而不必使用外部復位電路。器件中還有一個可編程電壓監測器(PVD),它監視VDD/VDDA供電并與閾值VPVD比較,當VDD低于或高于閾值VPVD時產生中斷,中斷處理程序可以發出警告信息或將微控制器轉入安全模式。PVD功能需要通過程序開啟。

7.電壓調壓器

調壓器有三個操作模式:主模式(MR)、低功耗模式(LPR)和關斷模式。

主模式(MR):用于正常的運行操作。

低功耗模式(LPR):用于CPU的停機模式。

關斷模式用于CPU的待機模式:調壓器的輸出為高阻狀態,內核電路的供電切斷,調壓器處于零消耗狀態(但寄存器和SRAM的內容將丟失)。

該調壓器在復位后始終處于工作狀態,在待機模式下關閉,高阻態輸出。

8.低功耗模式

STM32F103xC、STM32F103xD和STM32F103xE增強型產品支持三種低功耗模式,可以在要求低功耗、短啟動時間和多種喚醒事件之間達到最佳的平衡。

(1)睡眠模式。

(2)停機模式。

(3)待機模式。

9.中斷系統

1)嵌套的向量式中斷控制器(NVIC)

STM32F103xC、STM32F103xD和STM32F103xE增強型產品內置嵌套的向量式中斷控制器,能夠處理多達60個可屏蔽中斷通道(不包括16個Cortex?-M3的中斷線)和16個優先級。

2)外部中斷/事件控制器(EXTI)

外部中斷/事件控制器包含19個邊沿檢測器,用于產生中斷/事件請求。每個中斷線都可以獨立地配置它的觸發事件(上升沿或下降沿或雙邊沿),并能夠單獨地被屏蔽;有一個掛起寄存器維持所有中斷請求的狀態。EXTI可以檢測到脈沖寬度小于內部APB2的時鐘周期。多達112個通用I/O口連接到16個外部中斷線。

6.3.5存儲器組織結構

1.FSMC(可配置的靜態存儲器控制器)

STM32F103xC、STM32F103xD和STM32F103xE增強型系列集成了FSMC模塊。它具有4個片選輸出,支持PC卡/CF卡、SRAM、PSRAM、NOR和NAND。其功能介紹如下:

?3個FSMC中斷源,經過邏輯或連到NVIC單元;

寫入FIFO;

代碼可以在除NAND閃存和PC卡外的片外存儲器上運行;

目標頻率fCLK為HCLK/2,即當系統時鐘為72MHz時,外部訪問基于36MHz時鐘;系統時鐘為48MHz時,外部訪問基于24MHz時鐘。

2.LCD并行接口

FSMC可以配置成與多數圖形LCD控制器的無縫連接,它支持Intel8080和Motorola6800的模式,并能夠靈活地與特定的LCD接口。使用這個LCD并行接口可以很方便地構建簡易的圖形應用環境,或使用專用加速控制器的高性能方案。

3.直接內存存取DMA

靈活的12路通用DMA(DMA1上有7個通道,DMA2上有5個通道)可以管理存儲器到存儲器、設備到存儲器和存儲器到設備的數據傳輸;2個DMA控制器支持環形緩沖區的管理,避免了控制器傳輸到達緩沖區結尾時所產生的中斷。

6.3.6外圍設備

1.RTC(實時時鐘)和后備寄存器

RTC和后備寄存器通過一個開關供電,在VDD有效時該開關選擇VDD供電,否則由VBAT引腳供電。后備寄存器(42個16位的寄存器)可以用于在關閉VDD時,保存84個字節的用戶應用數據。RTC和后備寄存器不會被系統或電源復位源復位;當從待機模式喚醒時,也不會被復位。

2.定時器和看門狗

大容量的STM32F103xx增強型系列產品包含最多2個高級控制定時器、4個普通定時器和2個基本定時器,以及2個看門狗定時器和1個系統嘀嗒定時器。

表6.12比較了高級控制定時器、普通定時器和基本定時器的功能。

1)高級控制定時器(TIM1和TIM8)

兩個高級控制定時器(TIM1和TIM8)可以被看成是分配到6個通道的三相PWM發生器,它具有帶死區插入的互補PWM輸出,還可以被當成完整的通用定時器。4個獨立的通道可以用于:輸入捕獲;輸出比較;產生PWM(邊緣或中心對齊模式);單脈沖輸出。

2)通用定時器(TIMx)

STM32F103xC、STM32F103xD和STM32F103xE增強型系列產品中,內置了多達4個可同步運行的標準定時器(TIM2、TIM3、TIM4和TIM5)。每個定時器都有一個16位的自動加載遞加/遞減計數器、一個16位的預分頻器和4個獨立的通道,每個通道都可用于輸入捕獲、輸出比較、PWM和單脈沖模式輸出,在最大的封裝配置中可提供最多16個輸入捕獲、輸出比較或PWM通道。

3)基本定時器TIM6和TIM7

這兩個定時器主要用于產生DAC觸發信號,也可當做通用的16位時基計數器。

4)獨立看門狗

獨立看門狗是基于一個12位的遞減計數器和一個8位的預分頻器,它由一個內部獨立的40kHz的RC振蕩器提供時鐘;因為這個RC振蕩器獨立于主時鐘,所以它可運行于停機和待機模式。它可以被當成看門狗用于在發生問題時復位整個系統,或作為一個自由定時器為應用程序提供超時管理。通過選項字節可以配置成軟件或硬件啟動看門狗。在調試模式下,計數器可以被凍結。

5)窗口看門狗

窗口看門狗內有一個7位的遞減計數器,并可以設置成自由運行。它可以被當成看門狗用于在發生問題時復位整個系統。它由主時鐘驅動,具有早期預警中斷功能;在調試模式下,計數器可以被凍結。

6)系統時基定時器

這個定時器專用于實時操作系統,也可當成一個標準的遞減計數器。它具有下述特性:

?24位的遞減計數器;

自動重加載功能;

當計數器為0時能產生一個可屏蔽系統中斷;

可編程時鐘源。

3.I2C總線

2個I2C總線接口,能夠工作于多主模式或從模式,支持標準和快速模式。

I2C接口支持7位或10位尋址,7位從模式時支持雙從地址尋址。內置有硬件CRC發生器/校驗器。I2C接口也可以使用DMA操作并支持SMBus總線2.0版/PMBus總線。

4.通用同步/異步收發器(USART)

STM32F103xC、STM32F103xD和STM32F103xE增強型系列產品中,內置了3個通用同步/異步收發器(USART1、USART2和USART3)和2個通用異步收發器(UART4和UART5)。

這5個接口提供異步通信、支持IrDASIRENDEC傳輸編解碼、多處理器通信模式、單線半雙工通信模式和LIN主/從功能。

5.串行外設接口(SPI)

3個SPI接口,在從或主模式下,全雙工和半雙工的通信速率可達18Mb/s。3位的預分頻器可產生八種主模式頻率,可配置成每幀8位或16位。硬件的CRC產生/校驗支持基本的SD卡和MMC模式。所有的SPI接口都可以使用DMA操作。

6.I2S(芯片互聯音頻)接口

2個標準的I2S接口(與SPI2和SPI3復用)可以工作于主或從模式,這2個接口可以配置為16位或32位傳輸,亦可配置為輸入或輸出通道,支持音頻采樣頻率范圍為8kHz~48kHz。當任一個或兩個I2S接口配置為主模式時,它的主時鐘可以以256倍采樣頻率輸出給外部的DAC或CODEC(解碼器)。

7.安全數字接口SDIO

SD/SDIO/MMC主機接口可以支持MMC卡系統規范4.2版中的3個不同的數據總線模式:1位(默認)、4位和8位。在8位模式下,該接口可以使數據傳輸速率達到48MHz,該接口兼容SD存儲卡規范2.0版。

8.控制器區域網絡(CAN)

CAN接口兼容規范2.0A和2.0B(主動),位速率高達1Mb/s。它可以接收和發送11位標識符的標準幀,也可以接收和發送29位標識符的擴展幀。具有3個發送郵箱和2個接收FIFO,3級14個可調節的濾波器。

9.通用串行總線(USB)

STM32F103xC、STM32F103xD和STM32F103xE增強型系列產品,內嵌一個兼容全速USB的設備控制器,遵循全速USB設備(12Mb/s)標準,端點可由軟件配置,具有待機/喚醒功能。USB專用的48MHz時鐘由內部主PLL直接產生(時鐘源必須是一個HSE晶體振蕩器)。

10.通用輸入輸出接口(GPIO)

每個GPIO引腳都可以由軟件配置成輸出(推挽或開漏)、輸入(帶或不帶上拉或下拉電阻)或復用的外設功能端口。多數GPIO引腳都與數字或模擬的復用外設共用。除了具有模擬輸入功能的端口外,所有的GPIO引腳都有大電流通過能力。

11.ADC(模擬/數字轉換器)

STM32F103xC、STM32F103xD和STM32F103xE增強型產品,內嵌3個12位的模擬/數字轉換器(ADC),每個ADC共用多達21個外部通道,可以實現單次或掃描轉換。在掃描模式下,自動進行在選定的一組模擬輸入上的轉換。

ADC接口上的其他邏輯功能包括:

同步的采樣和保持;

交叉的采樣和保持;

單次采樣。

12.DAC(數字至模擬信號轉換器)

兩個12位帶緩沖的DAC通道可以用于將2路數字信號轉換為2路模擬電壓信號并輸出。這項功能是通過內部集成的電阻串和反向的放大器實現的。

13.溫度傳感器

溫度傳感器產生一個隨溫度線性變化的電壓,VDDA轉換范圍在2~3.6V。溫度傳感器在內部被連接到ADC1_IN16的輸入通道上,用于將傳感器的輸出轉換到數字數值。

14.串行單線JTAG調試口(SWJ-DP)

內嵌ARM的SWJ-DP接口,這是一個結合了JTAG和串行單線調試的接口,可以實現串行單線調試接口或JTAG接口的連接。JTAG的TMS和TCK信號分別與SWDIO和SWCLK共用引腳,TMS腳上的一個特殊的信號序列用于在JTAG-DP和SW-DP間切換。

15.內嵌跟蹤模塊(ETM)

使用ARM?的嵌入式跟蹤微單元(ETM),STM32F10xxx通過很少的ETM引腳連接到外部跟蹤端口分析(TPA)設備,從CPU核心中以高速輸出壓縮的數據流,為開發人員提供了清晰的指令運行與數據流動的信息。TPA設備可以通過USB、以太網或其他高速通道連接到調試主機,實時的指令和數據流向能夠被調試主機上的調試軟件記錄下來,并按需要的格式顯示出來。TPA硬件可以從開發工具供應商處購得,并能與第三方的調試軟件兼容。第7章單片機應用系統設計7.1實例1—簡易智能小車設計7.2實例2—兩輪自平衡機器人系統設計7.3實例3—太陽能最大功率跟蹤控制器設計7.4實例4—微電網模擬系統設計7.5實例5—電伴熱帶智能檢測儀7.6實例6—掃頻外差式頻譜分析儀

7.1實例1—簡易智能小車設計

7.1.1需求分析隨著計算機與微電子技術的快速發展,智能化技術的開發越來越快,智能程度也越來越高,應用的范圍也得到了極大的擴展。智能小車系統以迅猛發展的汽車電子技術為背景,涵蓋了控制、模式識別、傳感技術、電子、電氣、計算機、機械等多個學科。同時,當今機器人技術的發展日新月異,其已應用于考古、探測、國防、偵查、救災等眾多領域。

從某種意義上來說,機器人技術反映的是一個國家綜合技術實力的高低,而智能小車是機器人的雛形,它的控制系統的研究與制作將有助于推動智能機器人控制系統的發展。

本實例以2003年全國大學生電子設計競賽E題為設計目標,設計制作一個簡易智能小車,設計方案對于常見的智能小車設計類題目具有普遍意義,其行駛路線示意圖如圖7.1所示。

圖7.1智能小車行駛路線示意圖

7.1.2系統設計

1.系統總體設計

簡易智能小車的設計方案,利用各種傳感器電路結合信號調理電路對外圍反饋信息進行采集,并送入單片機,單片機處理所有傳感器中斷并實現相應的控制算法,獨立驅動左右兩輪的直流電動機,由單片機產生脈沖寬度調制波(PulseWidthModulation,PWM)控制電機驅動模塊對小車速度和運動方向進行調整,小車的各種狀態信息通過液晶顯示器顯示出來,電機驅動電路模塊單獨供電,其他部件一起另行供電。簡易智能小車系統總體結構框圖如圖7.2所示。

圖7.2簡易智能小車系統總體結構框圖

2.各模塊設計

(1)系統電源模塊:簡易智能小車采用四節3.7V的18650型可充電鋰電池串聯供電,供電電壓為+14.8V,在系統設計時需要將該電壓經轉換后輸出+12V、+5V電壓,為系統內的各個模塊提供電源。

(2)電機驅動模塊:選擇直流電機作為小車的驅動電機,需要設計合適的電機驅動電路,方便對小車的運動進行控制,包括啟動、停止、前進、后退、調速等操作。

(3)光源追蹤模塊:用光敏電阻組成光敏探測器。光敏電阻的阻值可以跟隨周圍環境光線的變化而變化。當光線照射到白線上面時,光線發射強烈,光線照射到黑線上面時,光線發射較弱。因此光敏電阻在白線和黑線上方時,阻值會發生明顯的變化。利用阻值的變化值經過比較器就可以輸出高低電平。

(4)紅外循跡模塊:采用安裝在小車底部的左、中、右三只紅外發射接收對管作為小車的黑線循跡模塊。該傳感器不但價格便宜,容易購買,而且處理電路簡單易行,實際使用效果很好,能很順利地引導小車到達C點。啟動時,小車跨騎在黑線上。兩側的紅外發射接收對管分別安裝在黑線兩側的白色區域,輸出為低電壓,中間的紅外發射接收對管安裝在黑線上方位置,當走偏時,可通過三只對管的組合邏輯對小車的運行狀態做出準確判斷,并及時進行調整。

(5)超聲避障模塊:小車的避障方案采用技術成熟的超聲波模塊實現,分別安裝在小車車身的左右兩側,超聲波發射接收的路徑指向小車行進中的左前方和右前方。

(6)金屬探測模塊:采用電感式接近開關作為金屬探測傳感器,可靠探測距離小于8cm,當檢測到金屬片時,對金屬片計數,通過液晶顯示器顯示。

(7)距離測量模塊:在車輪半圓處安裝兩個磁鐵,在輪側懸吊一個霍爾開關,通過霍爾開關的輸出脈沖數來測量小車行進距離。

(8)狀態顯示模塊:用于顯示行走時間、金屬鐵片位置等參數。

3.系統程序設計

簡易智能小車的所有功能都通過單片機控制實現,軟件設計采用模塊化子程序的方式,包括電機、循跡、追光、避障、檢測、顯示幾個部分。小車啟動后按照設定路線行進,避障系統每100ms進行一次障礙物檢測,并將檢測結果交由主控單片機處理,單片機根據各個模塊的數據反饋信息判斷是否繼續前進或者轉彎進行避障處理,如果遇到障礙物,則采取剎車、轉彎等技術處理。主控制程序流程圖如圖7.3所示。

圖7.3主控制程序流程圖

7.1.3硬件電路原理圖及PCB設計

1.主控制器模塊設計

簡易智能小車系統雖然硬件模塊較多,但技術指標要求并不高,主要是針對各個硬件模塊的驅動及反饋信息的處理,滿足題目要求即可,因此,選擇較為熟悉的Atmel公司生產的AT89S51單片機作為系統的主控制器,該單片機具有成本低、MCS51系列產品指令和引腳完全兼容的特點,適合初級階段的開發人員使用。AT89S51單片機最小系統電路如圖7.4所示。

圖7.4AT89S51單片機最小系統電路

2.系統電源模塊設計

根據簡易智能小車系統控制器及各個模塊的電壓需求,需要將四節輸入鋰電池的電壓+14.8V轉換成+12V和+5V,采用常見的三端穩壓集成電路LM7812、LM7805即可滿足系統要求,其輸出電流可達1.5A,還具有電路結構簡單、成本低廉的優點。系統電源電路如圖7.5所示,僅需在三端穩壓器輸入和輸出端并聯兩個大小不同的濾波電容就能夠穩定工作。

圖7.5系統電源電路

3.電機驅動模塊設計

電機驅動采用STMicroelectronics公司的L298N型雙H橋直流電機驅動芯片,具有集成度高、體積小、穩定可靠的優點,可以直接驅動兩路3~35V直流電機,并提供了+5V輸出接口(輸入最低只要+6V),可以給+5V單片機電路系統供電(低紋波系數),可以方便地控制直流電機速度和方向,也可以控制2相步進電機、5線4相步進電機。此種電機驅動芯片是智能小車制作中的常用電機驅動芯片。具體電機驅動電路如圖7.6所示。

圖7.6電機驅動電路

4.紅外循跡模塊設計

為了檢測路面黑線,在車底的前部安裝了三組反射式紅外傳感器,其中左右兩旁各有一組傳感器,由三個傳感器組成“品”字形排列,中軸線上為一個傳感器。因為若采用中部的一組傳感器的接法,有可能出現當駛出拐角時將無法探測到轉彎方向。若有兩旁的傳感器,則可以提前探測到哪一邊有軌跡,方便程序的判斷,提高系統穩定性。每個紅外尋跡傳感器由一個ST178反射式紅外光電傳感器組成,內部集成有高發射功率紅外光電二極管和高靈敏度光電晶體管。具體紅外循跡電路如圖7.7所示。圖7.7紅外循跡電路

5.超聲避障模塊設計

避障模塊基于超聲波測距原理實現,在小車車頭左、右各安裝一對探測頭用于前方障礙物距離檢測。超聲避障電路如圖7.8所示

圖7.8超聲避障電路

6.金屬探測模塊設計

我們使用電感型接近開關探測金屬片,型號為LJC18A3-B-Z/BX,當貼片接近開關時,輸出端輸出低電平。實測非常靈敏,利用單片機的中斷可準確地檢測到金屬物。

為了防止路面不平及車體晃動對探測的影響,我們使用了有效距離為15mm的接近開關作為探測器。使用時,我們將其固定在智能車的正前端,將探測面固定在與地面距離10mm左右的位置。將它的信號輸出端接到INT0口,通過中斷方式進行探測。金屬探測電路如圖7.9所示。

圖7.9金屬探測電路

7.光源追蹤模塊設計

光源檢測電路如圖7.10所示,利用光敏電阻值隨光強弱變化的特性組成光控開關電路。當無光照射時,光敏電阻阻值很大,三極管處于截止狀態,集電極輸出高電平;當有光照射時,光敏電阻阻值變小,三極管飽和導通。將檢測到的高低電平信號送至單片機,依此調整車頭方向,使其沿光源方向行駛。檢測電路安裝在小車車頭位置。

圖7.10光源檢測電路

8.距離測量模塊設計

采用Allegro公司A3144E型霍爾傳感器檢測小車速度及距離。在車后輪上安裝兩片磁鋼,將霍爾傳感器安裝在固定軸上,通過對脈沖的計數進行車速及距離的測量?;魻杺鞲衅鳒y距電路如圖7.11所示,汽車后輪每轉一圈,霍爾元件產生兩個脈沖,將其送人單片機的INT1口進行計數,同時完成脈沖數和距離的計算。7.11霍爾傳感器測距電路

9.PCB設計

PCB的設計與電路原理圖的設計采用同一個設計工具——AltiumDesigner。

PCB設計時需要考慮的幾個問題是適當的尺寸大小、合理的元器件布局、適當的對外接口位置及較強的抗干擾能力。

若系統中既存在強電信號,如繼電器、電流互感器等,又有單片機及液晶顯示器等弱電信號,為了降低電磁干擾,可把強電和弱電分別布在一個電路板上,兩個電路板之間通過接口連線進行聯系。一個電路板以單片機、液晶顯示器、鍵盤等弱電信號為主,另一個電路板以繼電器、參數測量等與強電信號相連的電路為主。

7.1.4系統調試

1.功能模塊調試

小車整體組裝完成后,在上電之前先檢查電源的兩個輸入端子有沒有短路,在沒有短路的情況下才可以上電。第一次上電時要小心,應仔細觀察上電后是否有異常氣味或者聲音,有沒有芯片發燙嚴重,發現這些問題后,應立即斷電,排查故障。每次電路修改后再上電時都要進行檢查。上電沒有故障后,首先用萬用表檢查各個芯片的電源與地是否正確連接,在電源和地正確連接的情況下再去檢測晶振電路是否起振。在電源和晶振都正常工作的情況下,先調試單片機的基本運行情況,運行一個簡單程序,看結果是否正確;然后設置I/O口輸出,看結果是否正確。

2.系統聯調

基本功能調試完成并確定沒有錯誤后,接下來就是把各個基本功能模塊結合在一起進行產品的綜合調試,我們稱為系統聯調。

7.1.5文檔編制

文件既是設計工作的結果,也是以后使用、維修以及進一步開發的依據和基礎。因此,設計工作完成后一定要精心編寫工作文件,盡可能描述清楚,使數據和資料齊全。文件應包括任務描述、性能測定及現場試用報告與說明、使用指南等。

最后,設計人員提交的文檔應包括:

(1)需求說明,包括具體的產品應用場合、產品應實現的功能、產品設計要求等內容;

(2)概要設計說明,主要是系統功能設計、設計指導思想及設計方案論證;

(3)詳細設計說明,根據概要設計所采取的方案,對詳細設計過程進行說明,包括功能模塊的劃分、每一模塊的具體實現、各模塊之間的接口情況、電子元器件的選型、硬件電路設計思路等;

(4)各種硬件圖紙,包括硬件電路原理圖、元件布置圖及接線圖、線路板圖、接插件引腳圖等;

(5)軟件相關資料,包括軟件流程圖、程序清單、程序說明等;

(6)用戶手冊/使用指南,提供給用戶使用,使用戶根據手冊或指南就能進行各種相關操作,同時用戶手冊/使用指南的編寫要求語言簡潔,內容全面,且不能有歧義。

7.2實例2—兩輪自平衡機器人系統設計

7.2.1需求分析傳統輪式移動機器人多以具有導向輪的三輪或四輪小車布局,與之相比,兩輪自平衡機器人主要有如下優點:(1)實現原地回轉和任意半徑轉向,移動軌跡更為靈活易變,很好地彌補了傳統多輪布局的缺點;(2)減小了占地面積,在場地面積較小或要求靈活運輸的場合十分適用;

(3)大大地簡化了車體結構,可以把機器人做得更小更輕;

(4)驅動功率也較小,為電池長時間供電提供了可能,為環保輕型車提供了一種新的思路。

7.2.2系統設計

1.系統總體設計

兩輪自平衡機器人通過對機器人各項運動數據信息的采集、濾波、融合,獲取運動的角度信息和位移信息。由于室內環境的復雜性采取了兩輪機器人的機械結構,依據慣性導航原理,對機器人運動進行積分推算,獲得機器人的實時位置和運動路徑信息,機器人再通過無線通信的方式,將相關數據信息傳送至PC上位機,對機器人運動實現監控。兩輪自平衡機器人系統總體結構框圖如圖7.12所示。圖7.12兩輪自平衡機器人系統總體結構框圖

兩輪自平衡機器人的設計過程中,研制出能滿足可靠性要求的運動控制系統是至關重要的。兩輪自平衡機器人必須要能夠在無外界干預下依靠一對平行的車輪保持平衡,并完成前進、后退、左右轉彎等動作。保持小車直立和運動的動力都來自于小車的兩只車輪,車輪由兩只直流電機驅動。因此,從控制角度來看,可以將小車作為一個控制對象,控制輸入量是兩個車輪的轉動速度。整個控制系統包括對機器人平衡、速度、方向的控制,由于最終都是對伺服電機進行控制,所以三者之間存在著耦合關系,其中,平衡控制是系統最基本的要求,也是整個控制系統的難點。

根據前述運動控制系統功能需求及平衡控制算法的要求,兩輪自平衡機器人系統設計應包含主控單片機、電機驅動模塊、編碼器模塊、姿態檢測模塊、距離測量模塊、數據通信模塊以及系統電源模塊。兩輪自平衡機器人控制系統功能框圖如圖7.13所示。圖7.13兩輪自平衡機器人控制系統功能框圖

2.各模塊設計

(1)系統電源模塊:兩輪自平衡機器人采用四節18650型可充電鋰電池串聯供電,供電電壓約+14V,在系統設計時需要將該電壓通過升壓或者降壓變換器轉換成+16V、+5V、+3.3V標準電壓,為系統內的各個模塊提供電源。

(2)電機驅動模塊:機器人的雙輪使用的是直流減速電機,控制直流電機的正反轉需有橋式驅動電路的配合,單獨使用控制器無法直接驅動。

(3)編碼器模塊:采用正交編碼器,可以輸出A、B兩路方波信號,通過控制器可直接獲取電機的轉速信息。

(4)姿態檢測模塊:姿態檢測的目的就是得到一個剛體的固連坐標系和參考坐標系之間的角位置關系的數學表達方法。簡單來說,姿態就是機器人的俯仰、翻滾、航向情況,只有知道了機器人的姿態情況,才能穩定可靠地控制機器人的下一步運動。姿態檢測模塊的設計使用慣性測量模塊(陀螺儀和加速度計),測量得到六軸或九軸姿態數據(磁力計),通過數學求解計算、數據融合,獲取機器人的運動姿態信息。

解計算、數據融合,獲取機器人的運動姿態信息。

(5)距離測量模塊:機器人在復雜的環境中需要成功避開障礙物,采用超聲波測距模塊可對前方障礙物進行檢測。

(6)數據通信模塊:通過無線串口收發器將機器人行進過程中的實時數據傳送給監控主機(PC),主機也可通過串口通信對機器人進行遙控。

3.兩輪平衡機器人模型分析

車體的姿態平衡由負反饋控制實現,由于車體只有兩個車輪為著力點,因此車體也只能在車輪轉動的方向傾倒。當車體向一側傾倒時,車體向傾倒方向加速運動,從而保持車體的平衡。圖7.14為車體平衡控制原理圖。

圖7.14車體平衡控制原理圖

對兩輪車體結構進行簡化分析,則平衡的車體可以看做一個倒立著的單擺放置在可以左右自由移動的平臺上。車體簡化后的倒立單擺原理圖如圖7.15所示。圖7.15車體簡化后的倒立單擺原理圖

4.系統程序設計

系統程序設計,主要是針對控制器應用編程和機器人運動控制的PID算法進行處理,通過姿態檢測得到機器人運動狀態的相關數據信息,再通過PID算法完成運動控制功能。具體的程序流程圖主要包含主控制程序和PID控制算法兩個部分,如圖7.16和圖7.17所示。

圖7.16主控制程序流程圖圖7.17PID控制算法流程圖

7.2.3硬件電路原理圖設計

1.系統主控制器模塊設計

考慮到本系統設計實現的室內服務機器人對機器人的信息處理和控制需實時性,選用意法半導體STMicroelectronics公司生產的STM32F103微控制器,該微控制器具有運行速度快,外設資源豐富的優點。

STM32F103系統電路主要由晶振電路、復位電路和BOOT電路組成,晶振電路為系統的時鐘源,復位電路控制芯片程序的運行,BOOT電路設置芯片運行時的啟動位置。圖7.18為STM32F103最小系統電路。

圖7.18STM32F103最小系統電路

2.系統電源模塊設計

系統供電的鋰電池組輸出電壓為+14V,姿態檢測部分、電機測速部分、測距部分均為+5V電壓供電,控制器部分為+3.3V供電。根據各個模塊的供電標準,選用LM2596開關電源模塊將輸入+14V轉換成+5V,再通過輸出紋波小的線性穩壓器AMS1117,再將+5V電壓轉換為+3.3V電壓。具體降壓變換電路如圖7.19所示。圖7.19降壓變換電路

機器人車輪的直流減速電機需采用+16V供電,因此需要對鋰電池輸出電壓電源進行升壓后為電機供電。采用UC3842電流控制型脈寬調制電源芯片實現升壓變換,具體升壓變換電路如圖7.20所示。

圖7.20升壓變換電路

3.電機驅動模塊設計

直流減速電機功率較大,驅動電機的H橋中的功率管采用IRFR1205型MOSFET,其工作電壓可達55V,最大電流可達44A,滿足系統需要。MOSFET的驅動采用IR2101型驅動器,控制器輸出的PWM控制信號通過IR2101控制MOSFET的通斷實現對電機的運轉控制。具體電機驅動電路如圖7.21所示。

圖7.21電機驅動電路

4.姿態檢測模塊設計

根據系統需要,需要給機器人搭載三軸陀螺儀和三軸加速度計以獲取機器人的狀態信息,MPU6050是全球首例六軸集成運動處理芯片,芯片內部封裝了三軸陀螺儀、三軸加速器,與多組件方案相比較,避免了組合陀螺儀與加速器時軸間存在誤差的問題,且體積小,方便使用。同時,MPU6050自帶運動處理器,通過I2C接口對MPU6050進行配置啟用后,可以免除濾波和姿態融合的繁瑣過程,直接輸出四元數,經轉換后得到歐拉角數據,即姿態角數據,可以減輕外圍控制器的負擔,同時數據穩定可靠。故系統采用MPU6050作為姿態檢測模塊。圖7.22為MPU6050構成的姿態檢測電路。圖7.22姿態檢測電路

5.電機測速模塊設計

對于兩輪自平衡機器人,依靠姿態信息能夠實現對機器人的平衡控制。當需要對機器人進行運動控制時,需要對電機的轉速進行檢測,采用電機自帶同軸連接的正交編碼器,正交編碼器的測速原理如圖7.23所示。

圖7.23正交編碼器測速原理圖

6.距離檢測模塊設計

測距方案采用HC-SR04型超聲波模塊,超聲波測距電路如圖7.24所示。圖7.24超聲波測距電路

7.2.4系統調試

1.功能模塊調試

首先確定單片機可以正常工作,然后進入功能調試階段。功能調試階段按功能模塊一步步進行調試,然后再進行系統聯調。

姿態檢測模塊的調試最為重要,機器人運動姿態通過微處理器的通用I/O口模擬I2C總線進行讀取,調試時將姿態模塊的數據讀取到控制器之后進行解算,解算之后的數據信息通過串口發送至PC端繪制成曲線圖,人為地調整機器人姿態,觀測數據是否連續、無毛刺。同樣方法也可用于距離檢測模塊的調試。

2.系統聯調

每一部分都沒有問題以后,再進行機器人控制算法與機器人硬件的聯合調試,對P、I、D三個參數的合理選取是系統聯調時重點考慮的問題。

7.3實例3—太陽能最大功率跟蹤控制器設計

7.3.1需求分析隨著傳統化石燃料能源的日益枯竭,以及化石燃料能源對環境的影響,新能源發電日益成為各國競相關注的熱點。特別是隨著技術的進步,新能源發電的發電成本日益降低,而傳統能源,如石油、天然氣等的價格卻日益提升,這使得新能源發電已經具備了和傳統化石燃料能源競爭的條件。新能源發電包括太陽能發電、風力發電、生物質能發電等。

太陽能光伏發電系統分為獨立型、補充型和并網型,它們的供電方式如下。

(1)獨立型光伏供電系統:由太陽能電池組、蓄電池組、光伏發電控制器、逆變器等主要部件組成。其工作模式為:白天日照強烈時,太陽能電池組發出的功率一部分供給負載使用,多余部分通過給蓄電池充電儲存起來,晚上或日照條件不適宜發電時,蓄電池向負載供能。此種發電方式的優點是:其發電不受地點和電力網絡限制,可以建成與電網獨立的小型供電系統。此種方式特別適合在電網未覆蓋的偏遠地區建立供電站,解決用電問題。其缺點是:建站成本和運維成本較高,缺乏電網支撐,供電可靠性受天氣和季節影響較大。

(2)補充型光伏供電系統:其基本組成部分與獨立型光伏供電系統大致相同。不同之處在于補充型光伏發電系統的逆變器部分為并網逆變器,其發出的功率除了供給負載和充入蓄電池儲存之外,還向電網輸送。其工作方式為:條件適宜光伏電池發電時,系統發出的功率在供給負載使用的同時向電網輸送。條件不適宜發電時,由電網向負載供能并且對蓄電池進行浮充(小電流恒壓充電)。當電力電網故障停電時,蓄電池投入工作,向負載供能,可以使負載免受電網故障影響。其優點在于當電力電網出現功率缺額(電網供電功率不足)時,由于蓄電池的投入,此種系統具有短暫地向系統提供無功和有功功率的作用,這有助于電力電網迅速從缺額中恢復。其缺點在于:在電力電網正常工作的大部分時間中,蓄電池全部處于浮充狀態,其容量會逐漸降低,導致蓄電池維護和更換成本較高。

(3)并網型光伏供電系統:與補充型光伏供電系統相比,其構成省去了儲能用蓄電池組。其工作模式為:條件適宜光伏發電時,系統發出的電能直接并入電網并對負載供電。其優點在于:充分利用太陽能資源的同時降低了建站和維護成本。其缺點在于:由于沒有儲能環節,晚間電網故障時系統無法提供電力給負載。

太陽能光伏發電系統基本結構框圖如圖7.25所示。作為自動化類專業的技術人員,我們的設計主要集中在太陽能控制器上。

圖7.25太陽能光伏發電系統基本結構框圖

7.3.2系統設計

1.系統總體設計

太陽能最大功率跟蹤控制器設計,可實時采集太陽能板和負載端的電壓、電流的相關參數,并對參數進行實時在線分析,通過實時調節控制器的PWM占空比實現最大功率點的跟蹤。太陽能最大功率跟蹤控制器總體結構框圖如圖7.26所示。

圖7.26太陽能最大功率跟蹤控制器總體結構框圖

各模塊的詳細設計及功能如下。

2.各模塊設計

(1)系統電源模塊:太陽能最大功率跟蹤控制器采用直流?+12V供電,經過降壓變換為系統所需的?+5V和?+3.3V標準電壓。

(2)信號采集模塊:為了實現最大功率跟蹤控制算法的需要,需要對功率變換器的輸入電壓、輸入電流及輸出電壓、輸出電流進行采樣。設計信號采集模塊主要負責將被測信號經過取樣并調理到合理的大小范圍內,送入微處理器的ADC模塊中。

(3)液晶顯示模塊:用于顯示太陽能板端電壓、電流,蓄電池組電壓、電流、功率,控制器工作狀態等參數。

(4)通信模塊:微處理器的UART模塊用于將系統運行中的調試信息通過RS232接口打印輸出至PC端,方便程序員進行系統調試。

(5)驅動電路模塊:用于驅動功率變換器中的MOSFET。

(6)功率變換模塊:采用基于Boost型升壓變換器。

3.最大功率跟蹤控制算法

擾動觀測法(Perturb&Observemethod,簡稱P&O法)是最為廣泛應用的最大功率跟蹤算法之一。此算法需要一個反饋環對太陽能電池的輸出電壓與輸入電壓進行測量。這種方法通過改變DC-DC變換器的阻抗變換比對太陽能電池輸出電壓進行擾動,然后觀察擾動前和擾動后太陽能電池輸出功率變化情況:若輸出功率因擾動增加(ΔP?>?0),說明此擾動有助于太陽能電池輸出更大的功率,則繼續施加相同方向的擾動;反之,向相反的方向擾動。P&O算法流程圖如圖7.27所示。

圖7.27P&O算法流程圖

4.系統程序設計

本設計中軟件主要包括外設初始化部分、自檢部分、信號采集與處理部分、實時控制部分、最大功率跟蹤算法、通信(顯示)部分及保護部分。主控制程序流程圖如圖7.28所示。圖7.28主控制程序流程圖

7.3.3硬件電路原理圖

1.主控制器模塊設計

主控單片機采用TI公司生產的TMS320F28035型數字信號處理器。其內含有一個高效的32位C28系列定點內核、128KBFlash儲存器、20KB隨機讀寫儲存器(RAM)、16通道的12位逐次比較(SAR)型模/數轉換器(ADC),其轉換速度可達4.6MS/s、7通道分辨率可達150p/s的高分辨率PWM模塊(HRPWM),此模塊支持頻率、占空比以及相位控制模式,功能強大且配置十分靈活。

根據前述功能需求及最大功率跟蹤控制算法的要求,使用F28035的ADC采集太陽能電池板的輸出電壓、輸出電流、Boost電路的輸出電壓等信號。ePWM模塊用于輸出控制Boost變換器PWM信號,模擬比較器則用于監測電壓、電流、溫度等信號對變換器和負載進行保護。IIC總線和UART總線用于驅動顯示器和對外發送變換器的狀態信息。其主控制器TMS320F28035最小系統電路如圖7.29所示。圖7.29TMS320F28035最小系統電路

2.系統電源模塊設計

TMS320F28035的工作電壓為3.3V,而太陽能電池板的輸出電壓為11~16V,所以需設計輔助電源電路,系統電源的設計采用兩級降壓DC-DC構成,首先采用美國MonolithicPowerSystem公司生產的MP1584DN降壓型開關變換器將系統輸入電壓降至5V,再通過AdvancedMonolithicSystems公司生產的AMS1117芯片將5V轉換成3.3V,從而保障系統穩定運行。系統電源電路如圖7.30所示。

圖7.30系統電源電路

3.驅動電路模塊設計

Boost變換器中的MOSFET驅動電路的設計采用了美國微芯科技公司(Microchip)生產的高功率的MOSFET管驅動器TC4427芯片,在MOSFET的門極充放電時,TC4427器件具有匹配的上升和下降時間。在額定功率和額定電壓范圍內的任何條件下,器件具有很好的鎖定阻抗。TC4427輸入電壓為4.5~18V,峰值輸出電流可達1.5A,INA、INB輸入端口都為高阻抗輸入,VDD為驅動器偏置電源,外接1μF的陶瓷電容進行旁路。MOSFET驅動電路如圖7.31所示,輸入端是INB,與DSP的I/O端口相連,輸出端與MOSFET的門極相連。

圖7.31MOSFET驅動電路

4.功率變換模塊設計

功率變換模塊是用于太陽能光伏電池板和負載之間的Boost型變換器,通過控制電壓,將不可控太陽能板的輸出電壓轉換成可控的直流輸出。DSP輸出的PWM控制信號采用定頻100kHz調寬的方法,通過改變電路中MOSFET導通與關斷時間的比例(占空比),調節輸出電壓和輸出電流,從而實現最大功率控制。功率變換電路如圖7.32所示。

圖7.32功率變換電路

5.信號采集模塊設計

信號采集電路如圖7.33所示。信號采集模塊用于對太陽能電池板輸出電流進行采樣,由OPA365型運算放大器構成的差分比例放大電路,放大倍數為R19/R23=10倍。輸入電壓分別加在集成運放的反相輸入端和同相輸入端,輸出端通過反饋電阻R19接回到反向輸入端。OPA365是單電源軌至軌運算放大器。其接線方式采用基本放大器配置電路典型接線。其輸入端與采樣電阻兩端相連,輸出端與DSP相連。

圖7.33信號采集電路

6.數據通信模塊設計

本系統中的數據通信模塊主要用于在系統運行及調試過程中,將電壓、電流等運行參數信息實時回傳至PC端,通過串口終端查看。串口通信部分的電路設計考慮了隔離防護措施,可有效避免強電回路的故障對弱電回路的影響。隔離串口電路如圖7.34所示。

圖7.34隔離串口電路

7.3.4系統調試

1.前期基本調試

電路板做好以后,先進行基本連接關系的初步檢查調試,主要是看有沒有斷線或者明顯的短路情況。確定沒有問題之后再進行相關電器元件的焊接。

2.功能模塊調試

首先應調試輔助電源部分,看其工作是否正常。

3.系統聯調

系統聯調之前應先檢查各模塊連接是否正常,應先使用具有過流保護功能的直流穩壓電源替代太陽能電池板作為系統輸入電源,并且在系統輸入端串接保險絲。由于本電路采用的Boost拓撲結構具有升壓特性,為保證安全,系統聯調時應避免空載,在上電前應先確保負載連接正確。系統上電后應密切關注輸入電流是否異常增大或輸入電壓異常升高。若出現上述情況應及時切斷電源。測試系統功能正常后應注意監測主要功率器件(MOSFET、整流二極管等),看其是否嚴重發熱。增加負載時應密切監視、逐步增加,出現波形、數據異常時應迅速切斷電源,防止損壞器件或測試設備。

7.4實例4—微電網模擬系統設計

7.4.1需求分析隨著國民經濟的快速發展,電能作為清潔、高效的二次能源,在國家經濟發展、社會運轉、人民生活中發揮著不可替代的作用,在社會進步、經濟繁榮的同時,電力工業也得到了飛速的發展,小型的區域性供電系統已演變成為大容量、高電壓、交直流混合的大型復雜非線性互聯電力網絡。

7.4.2系統設計

1.系統總體設計

微電網模擬系統由兩路獨立的三相逆變電源并聯而成,包括直流電源、驅動電路、三相逆變橋、濾波電路和控制部分,可單獨工作也可以并聯同時工作,兩逆變器輸出功率比例可變。系統軟硬件結合,具有效率高、精度高、靈活度高的特點。微電網模擬系統原理框圖如圖7.35所示,負載為三相對稱Y形連接電阻負載。

圖7.35微電網模擬系統原理框圖

微電網模擬系統的基本指標參數要求如下:

(1)閉合S,僅用逆變器1向負載提供三相對稱交流電。負載線電流有效值Io為2A時,線電壓有效值Uo為24V±0.2V,頻率fo為50Hz±0.2Hz;

(2)在要求(1)的工作條件下,交流母線電壓總諧波畸變率(THD)不大于3%;

(3)在基本要求(1)的工作條件下,逆變器1的效率不低于87%;

(4)逆變器1給負載供電,負載線電流有效值I

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論