最近在玩 TMS320F2806x Piccolo™ Microcontrollers 想說邊玩邊寫心得 ,寫給自己看,也分享給剛入門的學友。
TI 總覺得比Microchip來的複雜許多,Micorchip不管用8bit 16bit 32bit不外乎找Datasheet看看有啥功能,有甚麼暫存器可用,文件內容都還可以消化,
但是TI不知為啥文件內容多到不知從何找起,有啥 ControlSuit、 Motorwave 、 C2000wave林林總總
,一開始覺得很複雜不好用,但是耐著下心來慢慢看,發現只要用的順手,高階應用開發上真的TI比Microchip來的好用許多。
俗話說"慢就是快",靜下心來慢慢看,慢慢理解,能下有效吸收,途中也能找到許多樂趣。
來說說 TMS320F2806x Piccolo™ Microcontrollers 有甚麼Features吧
• High-Efficiency 32-Bit CPU (TMS320C28x) – 90 MHz (11.11-ns Cycle Time) :90MHz處理速度還OK,處理Ebike控制措措有餘
– 16 × 16 and 32 × 32 Multiply and Accumulate (MAC) Operations
– 16 × 16 Dual MAC – Harvard Bus Architecture – Atomic Operations
– Fast Interrupt Response and Processing – Unified Memory Programming Model
– Code-Efficient (in C/C++ and Assembly)
Floating-Point Unit (FPU)
– Native Single-Precision Floating-Point Operations :精確浮點數運算,早期寫MCU處理小數點都會用Q格式,能支援浮點運算的確方便不少~~
Programmable Control Law Accelerator (CLA)
– 32-Bit Floating-Point Math Accelerator
– Executes Code Independently of the Main CPU
Viterbi, Complex Math, CRC Unit (VCU)
– Extends C28x Instruction Set to Support Complex Multiply, Viterbi Operations, and Cyclic Redundency Check (CRC)
Embedded Memory
– Up to 256KB of Flash :Flash還記得是幹嘛的嗎?? 簡單理解就是存Code的
– Up to 100KB of RAM :簡單說是存程式變數的,例如int 蘋果 = 10; 這個蘋果就會存到RAM裡面 ,一斷電 蘋果=10,就會不見。
– 2KB of One-Time Programmable (OTP) ROM :ROM 中 1能被改成0,0無法改回1 ,如 0xFFFE 改不回 0xFFFF 但是可以改成0xFFFD 方便部屬和安全性的應用。
6-Channel Direct Memory Access (DMA) : 一般而言運算都需要經過CPU,但是為了減輕CUP負擔,能用DMA而不透過CUP 直接存取記憶體。
Low Device and System Cost
– Single 3.3-V Supply 頻率要越快,電壓要越小~
– No Power Sequencing Requirement
– Integrated Power-on Reset and Brownout Reset
– Low-Power Operating Modes – No Analog Support Pin
Endianness: Little Endian
JTAG Boundary Scan Support
– IEEE Standard 1149.1
-1990 Standard Test Access Port and Boundary Scan Architecture
Clocking
– Two Internal Zero-Pin Oscillators
– On-Chip Crystal Oscillator/External Clock Input
– Watchdog Timer Module
– Missing Clock Detection Circuitry
Peripheral Interrupt Expansion (PIE) Block
That Supports All Peripheral Interrupts
Three 32-Bit CPU Timers
Advanced Control Peripherals :不曉得Advanced 在哪??
Up to 8 Enhanced Pulse-Width Modulator (ePWM) Modules : 一看到Enhanced 就知道是PWM強化版
– 16 PWM Channels Total (8 HRPWM-Capable)
– Independent 16-Bit Timer in Each Module
• Three Input Enhanced Capture (eCAP) Modules : Capture 模式~~完馬達控制應該都很熟悉
Up to 4 High-Resolution Capture (HRCAP) Modules : 看起來是Capture強化版??
Up to 2 Enhanced Quadrature Encoder Pulse (eQEP) Modules : 看圖最快,看出來ChannelA、B變化的規律嗎? 看出來你就懂Quadrature Encoder Pulse了
12-Bit Analog-to-Digital Converter (ADC), Dual Sample-and-Hold (S/H) : ADC 12bit 恩~~還可以
– Up to 3.46 MSPS
– Up to 16 Channels
On-Chip Temperature Sensor :顧名思義,內建在芯片中的溫度計
128-Bit Security Key and Lock:
– Protects Secure Memory Blocks
– Prevents Reverse-Engineering of Firmware
Serial Port Peripherals: 加減看
– Two Serial Communications Interface (SCI) [UART] Modules
– Two Serial Peripheral Interface (SPI) Modules
– One Inter-Integrated-Circuit (I2C) Bus
– One Multichannel Buffered Serial Port (McBSP) Bus
– One Enhanced Controller Area Network (eCAN)
– Universal Serial Bus (USB) 2.0 (see Device Comparison Table for Availability)
– Full-Speed Device Mode
– Full-Speed or Low-Speed Host Mode
Up to 54 Individually Programmable, Multiplexed General-Purpose Input/Output (GPIO) Pins With Input Filtering :有54組多功能且能單獨燒錄的GPIO
Advanced Emulation Features: 能夠Real-Time Debug, 真的滿重要的,尤其是在調適馬達控制參數的時候
– Analysis and Breakpoint Functions
– Real-Time Debug Through Hardware
Package Options:
– 80-Pin PFP and 100-Pin PZP PowerPAD™ Thermally Enhanced Thin Quad Flatpacks (HTQFPs)
– 80-Pin PN and 100-Pin PZ Low-Profile Quad Flatpacks (LQFPs)
Temperature Options
– T: –40°C to 105°C – S:
–40°C to 125°C – Q:
–40°C to 125°C (AEC Q100 Qualification for Automotive Applications)
打了一小時~ 持續更新~