CHƯƠNG 1: CO SO LY THUYET VE STM32 Chế độ One Pulse Ở các chế độ đã trình bày trên, ta thây xung nhịp PWM được tạo có dạng dãy các tín hiệu liên tiếp nhau. Khối Timer còn cung cấp một chế độ hoạt động riêng cho phép tạo duy nhất một xung PWM với tần số, bề rộng xung cùng với thời gian trễ có khả năng được cầu hình một cách linh động. ' ' ' ' i ' I i ' I ! thưa, —œ 4— Trine > + Hình 1.15 Chế độ One Pulse - Đồng bộ hóa định thời Mặc dù các bộ định thời hoạt động hoàn toàn độc lập với nhau, tuy nhiên chúng có thé duoc đồng bộ hóa từng đôi một hay toàn bộ. TIM1CLK TIM2CLK TRG Trigger Trigger Controller Controller TI1FP1 TI1EP1 TI2FP2 TIM4 TIM3CLK TIM4CLK >| TRG TRG1>-> TRG2>-> Trigger TRG3>»r+ Trigger lraoo TRG4 Controller Controller TI1FP1 TI1FP1 1 TI2FP2 TI2FP2 - Hình 1.16 Mỗi khối Timer có đầu vào là các xung sự kiện Mối khôi Timer 3 đường vào hồ trợ các xung sự kiện từ 3 khôi Timers còn lại.
Ngoài ra chan Capture từ Timer1 và Timer2(TIFPI và TIFP2) cũng được đưa khối điều khiến sự kiện của mỗi Timer.Nguyễn Mạnh Hùng 25 SVTH:Nguyễn Khắc Hiên BAO CAO THUC TAP CHUONG 1: CO SO LY THUYET VE STM32 MEIASTER Timer1 wwscals | Trigger TROT > | Controller mini SLAVE/ MASTER Timer2 j | ' Tngger me) > pevecaber i} ¢ ontrother | SLAVE li s ' "" n.— le Timer 3 |@| mee©dle ai counter TRM2 Tims | 1Roo| 3) Trigger tRọo, 3) Trigger | Coetroller Controller External Trigger Hinh 1.17 Cau hinh cac khéi Timer két hop lại tạo thành mảng céc Timer Ở mô hỉnh tạo thành một mang Timer, mot Timer dong vai tro Master, cac Timer còn lai dong vai tro la Slave. RTC va cac thanh ghi Backup STM32 bao g6m 2 khéi nguén chinh: ngu6én danh cho nhan CPU, cac thiét bị ngoại vi và nguồn dành cho khối dự phòng. Cùng được thiết kế chung với khối dự phòng là 10 thanh ghi 16-bit, đồng hồ thời gian thực RTC và một khối Watchdog déc lap. Cac thanh ghi dự phòng đơn giản chỉ là 10 vùng nhớ để lưu các giá trị dữ liệu quan trọng khi hệ thống đi vào chế độ Standby và nguồn chính của hệ thống bị ngắt.
Ở chế độ tiết kiệm năng lượng, đồng hỗ RTC và Watchdog có thể được dùng kích hoạt hệ thống hoạt động trở lại. STM32 có một đồng hồ thời gian thực với thanh ghi đếm 32-bit và giá trị tăng lên một sau mỗi giây nếu xung nhịp đầu vào của nó là 32. Khi cầu hình xung nhịp hoạt động hệ thống, xung nhịp nguồn cho đồng hồ RTC này có thể duoc lay từ 3 nguồn: LSI, LSE, HSE với giá trị chia la 128.Nguyễn Mạnh Hùng 26 SVTH:Nguyễn Khắc Hiên BAO CAO THUC TAP CHUONG 1: CO SO LY THUYET VE STM32 HSE OSC Alarm!T OverflowIT Second IT _ Hình 1.18 Khỗi RTC c6 thé ldy nguén xung nhịp từ LSI, LSE và HSE _ Bộ đêm RTC có thê tạo được 3 sự kiện: tăng giá trị đêm, bộ đêm tràn và ngắt báo động. Ngắt báo động khi giá trị bộ đếm trùng với g1á trỊ được cầu hình trong thanh ghi Alarm.
RTC được đặt trong khối dự phòng với nguồn cung Vbat và tín hiệu ngắt Alarm được kết nối với chân nhận xung EXTI17. Điều đó có nghĩa khi hệ thống vảo trạng thái hoạt động của mức năng lượng thấp, RTC vẫn hoạt động. Và thông qua su kién Alarm, toan bộ hệ thống có thê được kích hoạt đề hoạt động trở lại ở chế độ bình thường.3 Kết nỗi với các giao tiếp khác ; STM32 hé tro 5 loai giao tiép ngoai vi khac nhau. STM32 có giao diện SPI va I2C đề giao tiếp với các mạch tích hợp khác.
Hỗ trợ giao tiếp CAN cho cdc module, USB cho giao tiếp PC và giao tiếp USART. SPI Hỗ trợ giao tiếp tốc độ cao với các mạch tích hợp khác, STM cung cấp 2 khối điều khiến SPI có khả năng chạy ở chế độ song công(Full duplex) với tốc độ truyền đữ liệu lên tới IS§MHz. Khối SPI tốc độ cao nằm trên APB2, khối SPI tốc độ thấp nằm trên APBI. Mỗi khối SPI có hệ thống thanh phi cầu hình độc lập, đữ liệu truyền có thế GVHD: Th§.Nguyễn Mạnh Hùng 27 SVTH:Nguyễn Khắc Hiên BAO CAO THUC TAP CHUONG 1: CO SO LY THUYET VE STM32 dưới dạng 8-bit hoặc 16-bit, thi tự hỗ trợ MSB hay LSB.
Chúng ta có thể cấu hình mỗi khối SPI đóng vai trò master hay slave. — 5)! n Rit MOSI ——— fle q ° aT e MISO —— s{u tịp SN SGK m— Hardware CRC NSS — —— a _ Hình I.19 Giao tiếp SPI Dé hồ trợ truyền đữ liệu tốc độ cao, mỗi khôi SPI có 2 kênh DMA dành cho gửi và nhận dữ liệu. Thêm vào đó là khối CRC dành cho cả truyền và nhận dữ liệu. Khối CRC déu co thé hé tro kiém tra CRC8 va CRC16.
Các đặc tính này rất cần thiết khi sử dung SPI dé giao tiếp với MMC/SD card. Voo Voo — R=47KQ2 Hình 1.20 giao tiếp SPI với SD card b. 2C Tương tự như SPI, chuẩn I2C cũng được STM32 hỗ trợ nhằm giao tiếp với các mạch tích hợp ngoài. Giao diện I2C có thể được cấu hình hoạt động ở chế độ slave, master hay đóng vai trò bộ phân xử đường trong hệ thống multi-master.
Giao diện I2C hỗ trợ tốc độ truyền chuân 100kHz hay tốc độ cao 400kHz. Ngoài ra còn hỗ trợ 7 hoặc 10 bít địa chỉ. Được thiết kế nhằm đơn giản hóa quá trình trao đối với 2 kênh DMA cho truyền và nhận dữ liệu. Hai ngắt một cho nhân Cortex, một cho định địa chỉ và truyền nhận.Nguyễn Mạnh Hùng 28 SVTH:Nguyễn Khắc Hiên BAO CAO THUC TAP CHUONG 1: CO SO LY THUYET VE STM32 f ‘ = 7 Bus Event =| Interrupt Requests 2 SA — mm C2 7 Error ==] Interrupt = Requests SMB = Alert — 0 M SMBUS | PMBUS q——| A — ee Hình 1.21 Giao tiếp 12C Thêm nữa đề đảm bảo tính chính xác đữ liệu truyền, khối kiểm tra lỗi đữ liệu( PAC — packet error checking) được tích hợp thêm vào giao diện I2C cho phép kiểm tra mã CRC-8 bit.
Thao tác này được thực hiện hoàn toàn tự động bởi phần cứng. PEC Value calculated and transmitted by master transmitter mm mh ae) | II , _—= az ậ 4 (Dal Nak Thủ) ‘AK Bi r băn VA] \ i) A) — = LÍ quan cenowiedgement UV Hình 1.22 Kiểm tra lỗi trên I2C c. USART Mặc dù các giao diện trao đôi đữ liệu dạng nối tiếp dần dần không con được hỗ trợ trên máy tính, chúng vẫn còn được sử dụng rất nhiều trong lĩnh vực nhúng bởi sự tiện ích và tính đơn giản. STM32 có đến 3 khối USART, mỗi khối có khả năng hoạt động đến tốc độ 4.
Một khối USART nằm trên APBI với xung nhịp hoạt động 72MHz, các khối còn lại năm trên APB2 hoạt động ở xung nhịp 36MHz.Nguyễn Mạnh Hùng 29 SVTH:Nguyễn Khắc Hiên BAO CAO THUC TAP CHUONG 1: CO SO LY THUYET VE STM32 Interrupt 7 USART x3 Requests Smart IrDA | Modem | LIN Card Fractional Baudrate Generator SCLK Hinh 1.23 Giao diện USART có khả năng hỗ trợ giao tiếp không đồng bộ UARTS, modem cũng HÌữt giao tiếp hông ngoại và Smdrfcard Với mạch tích hợp cho phép chia nhỏ tốc độ BAUD chuẩn thành nhiều tốc độ khác nhau thích hợp với nhiều kiểu trao đổi dữ liệu khác nhau. Mỗi khối USART có hai kênh DMA dành cho truyền và nhận dữ liệu. Khi hỗ trợ giao tiếp dạng UART, USART cung cấp nhiều chế độ giao tiếp. Có thể trao đôi dữ liệu theo kiểu chế độ haflfl-duplex trên đường truyền Tx.
Khi hỗ trợ giao tiếp modem và giao tiếp có sử dung diéu khién luéng (hardware flow control) USART cung cấp thêm các tín hiệu diéu khién CTS va RTS.24 Hỗ trợ giao tiếp ở chế độ hafl-duplex dựa trên một đường truyền Ngoài ra USART còn có thê dùng đề tạo các giao tiếp nội (local interconnect bus). Đây là mô hình cho phép nhiều vi xử lý trao đôi đữ liệu lẫn nhau. USART còn có khối encoder/decoder dung cho giao tiếp hồng ngoại với tốc độ hỗ trợ có thể đạt đến 1115200bps, hoạt động ở chế độ hafl-duplex NRZ khi xung nhịp hoạt động khoảng từ 1.4MHz cho đến 2. Đề thực hiện giao tiếp với smartcard, USART còn hỗ trợ chuẩn ISO 7618-3.Nguyễn Mạnh Hùng 30 SVTH:Nguyễn Khắc Hiên BAO CAO THUC TAP CHUONG 1: CO SO LY THUYET VE STM32 USART Tx _ Hinh 1.25 Giao tiép smartcard va hồng ngoại ; Người dùng có thê câu hình khôi USART cho các g1ao tiếp đông bộ tôc độ cao dựa trên 3 đường tín hiệu riêng biệt như SPI.
Khi hoạt động ở chế độ nay, khéi USART sé đóng vai trò là SPI master và có khả năng cấu hình Clock Polarity/Phase nên hoàn toàn có thé giao tiếp với các SPI slave khác.26 Hỗ trợ giao tiếp đồng bộ SPI d. CAN Khối điều khiến CAN cung cấp một điểm giao tiếp CAN day du hé tro chuan CAB 2.0B Active và Passive với tốc độ truyền dữ liệu 1 Mbit⁄s. Ngoài ra khối CAN còn có khối mở rộng hỗ trợ giao tiép truyén dtr ligu dang deterministic dia trén thé thoi gian Time-trigger CAN(TTCAN). Transmit Receive [— CAN Tx and receive CAN 2.0 Filter Blocks mailboxes BÀ Hình 1.27 khối điều khiên CAN GVHD: Th§.Nguyễn Mạnh Hùng 31 SVTH:Nguyễn Khắc Hiên BAO CAO THUC TAP CHUONG 1: CO SO LY THUYET VE STM32 Tên đầy đủ của CAN là bxCAN, trong đó bx là viết tat cla Base eXtended.
Mét giao diện cơ bản CAN tối thiểu phải hỗ trợ bộ đệm đơn truyền và nhận dữ liệu, trong khi đó các giao diện mở rộng cung cấp nhiều bộ đệm. bxCan là sự kết hợp giữa hai kiến trúc trên. bxCan có 3 bộ đệm dữ liệu cho truyền và 2 bộ đệm nhận, các bộ đệm này thường được gọi là mailbox(hộp thư). Mỗi mailbox được tổ chức như một FIFO hàng đợi.
r— TX Mailboxes ID ID ID Timestamp | | Timestamp | | Timestamp DLL DLL DLL DATA DATA Data ——==——ẺỄẺỄễỄẺễẽẻẻ Hình 1.28 Khỗi CAN có 3 mailbox cho truyền dữ liệu với đánh nhãn thời gian tự động cho chuẩn TTAN Một điểm quan trọng nữa của CAN là lọc gói tin nhận(receive message filter). Vi giao thức CAN truyền dữ liệu dựa trên địa chỉ đích nhận, do đó gói tin sẽ được phát trên toàn bộ mạng, chỉ có điểm nào có địa chỉ giống như địa chỉ nhận trên gói tin sẽ dùng gói tin đó. Lọc gói tin giúp các điểm trên mạng CAN tránh xử lý các gói tin không phủ hợp.STM32 cung cấp 14 bộ lọc(14 filters bank) được đánh số từ 0 -13 cho phép lọc toàn bộ các gói tin không cần thiết. Mỗi bộ lọc gồm 2 thanh ghi 32-bit CAN_FxR0 vaCAN FxR1.