RTC là gì? | Công ty Cổ phần hệ thống AIoT

RTC hay Real Time Clock là ngoại vi sử dụng như một bộ đồng hồ đeo tay – lịch thời hạn thực. Thuật ngữ thời hạn thực là chỉ thời hạn trong đời sống của con người hằng ngày, chứ không phải thời hạn trong giám sát như những Timer khác .
Để bộ RTC hoàn toàn có thể hoạt động giải trí tất cả chúng ta cần nối chân Vbat của vi tinh chỉnh và điều khiển với một nguồn 3V, thường sử dụng Pin Cmos, nguồn điện này giúp duy trì xung RTC hoạt động giải trí thông thường .

Ưu nhược điểm của RTC on chip so với các IC RTC khác như DS3231, DS1307

Ưu điểm :
Tiết kiệm ngân sách linh phụ kiện, góp thêm phần giảm giá tiền mẫu sản phẩm
Có thể sử dụng thanh ghi Backup 16 bit như 1 Eprom điều mà STM32 thiếu
Nhược điểm
Sai số từ bộ giao động lớn ( 1 % ), khi chạy lâu bền hơn sẽ dẫn tới sai thời hạn
Các thông số kỹ thuật chính của STM32 RTC
Có thể thông số kỹ thuật Clock đầu vào theo 3 nguồn đó là : LSE, HSE, LSI
Bộ chia clock lên đến 20 bit, giúp bộ RTC hoạt động giải trí đúng mực .
Độ phân giải của timer RTC lên đến 32 bit – tức là 2 ^ 32 giây mới tràn và cần reset lại .
3 nguồn clock source hoàn toàn có thể được sử dụng .
2 loại Reset RTC riêng không liên quan gì đến nhau .
Có những ngắt tương hỗ là : ngắt Alarm, ngắt mỗi giây, ngắt tràn bộ đếm .
Trong bài hướng dẫn này, mình sẽ hướng dẫn những bạn tạo ra một chiếc đồng hồ đeo tay chạy thời hạn thực, nó sẽ vẫn chạy mặc dù rằng nguồn vi điều khiển và tinh chỉnh có bị mất hay không .

Nội dung Project:

Giao tiếp đọc thời hạn giờ-phút-giây, ngày-tháng-năm và gửi thông tin qua cổng UART1 để theo dõi trên máy tính
Hướng dẫn thông số kỹ thuật

Cấu hình trên STM32CubeMX

Bước 1: Mở STM32CubeMX và tạo dự án mới

Bước 2: Gõ tên tìm kiếm loại MCU cần lập trình và click đúp vào tên của nó

Bước 3: Cấu hình chế độ Debug cho chip là Serial Wire

Bước 4: Trong mục RCC cấu hình HSE và LSE như hình để cho phép sử dụng thạch anh ngoài

Bước 5: Trong tab Clock Configuration, cấu hình tần số hoạt động cho chip là 216Mhz (max), sử dụng thạch anh ngoài 8Mhz cấp qua bộ HSE và 32.768Khz cấp qua LSE.

Bước 6:

Cấu hình sử dụng bộ UART1 để xuất hiệu quả đọc ngày giờ
1 – Chọn tiếp xúc USART1
2 – Chọn tiếp xúc là bất đồng bộ Asynchronous
3 – Cấu hình những tham số của bộ UART như hình

Bước 7: Cấu hình bộ RTC

Bước 8: Trong tab Project Manager, đặt tên cho Project, chọn đường dẫn lưu thư mục, chọn trình biên dịch là Keilc (MDK-ARM) và chọn phiên bản sử dụng

Bước 9: Trong mục Code Generator tích chọn Generate peripheral initialization.. Sau đó tiến hành GENERATE CODE.

Khai báo 2 biến tài liệu lưu thông tin của thời hạn và ngày tháng, Temp là mảng chứa giá trị quy đổi từ kiểu số sang kiểu ký tự
HAL_RTC_GetTime, là hàm đọc giá trị giờ-phút-giây lưu vào biến stimestructure .
HAL_RTC_GetDate là hàm đọc thứ-ngày-tháng-năm lưu vào biến sdatestructure
Các giá trị thời hạn đọc được sau đó được xuất ra UART để theo dõi hiệu quả trên máy tính .

Kết quả

Chúc các bạn thành công!

Tác giả : Mai Văn Ba

Để update tin tức công nghệ tiên tiến mới nhất và những mẫu sản phẩm của công ty AIoT JSC, sung sướng truy vấn link : http://aiots.vn hoặc linhkienaiot.com