Rtc Là Gì

  -  

Bài viết này để giúp đỡ các bạn mày mò về cỗ RTC trên vi điều khiển và tinh chỉnh STM32F103C8T6 với thực hành thiết kế thao tác làm việc với nước ngoài vi này. hoidapthutuchaiquan.vn cũng có bài viết gợi ý tiếp xúc vi tinh chỉnh cùng với IC RTC DS3231, những chúng ta có thể đọc thêm trên trên đây. 

A. Lý tngày tiết về RTC

Chắc hẳn các bạn sẽ nghe thuật ngữ RTC chỗ nào kia rồi nên không. Vậy thì RTC là gì? RTC (Real time clock) là bộ thời gian thực được cung cấp mang đến chúng ta thời gian y hệt như một cái đồng hồ đeo tay thông thường.So cùng với các loại module hiện tại bao gồm trên Thị phần như DS3231, DS1307… bọn họ buộc phải cần sử dụng thêm IC để gọi được dữ liệu thời gian về ngày, tháng, năm, tiếng, phút, giây với phần nhiều các nhiều loại IC này hầu như thực hiện giao thức I2C để đọc/ghi dữ liệu.Còn so với chip STM32F103C8 của chúng ta, sinh sống phía bên trong nó gắn vào sẵn một bộ thời gian thực.

Bạn đang xem: Rtc là gì

Ưu cùng điểm yếu Khi áp dụng cỗ RTC vào chip STM32F103C8:

Ưu điểm: Không cần tốn ngân sách mang đến bất kỳ IC RTC nào bởi đã có tích hợp sẵn, ngày tiết kiểm diện tích S thiết kế mạch. 

Nhược điểm: Bộ RTC trong chip STM32F103C8 thực hiện trường đoản cú Cloông chồng trường đoản cú các cỗ LSI, LSE, HSE. Nếu thực hiện LSI làm cho bộ mối cung cấp Clochồng thì đây là cỗ clochồng nội và không đúng số trung bình khoảng chừng 1%, bởi vì vậy trong quá trình vận động thì lúc chúng ta gọi thời gian có khả năng sẽ bị xô lệch (có thể lưu ý khắc phục được)

Việc của họ chỉ việc tìm hiểu với thực hiện chđọng không cần bận tâm mang lại Hartware nữa. Một số áp dụng bao gồm cơ mà cỗ RTC đem về là làm đồng hồ thời trang, mạch kiểm soát điều hành thời gian, báo thức, bộ đếm…Sở RTC này thực hiện timer chủ quyền, tách biệt cùng với các bộ timer khác. Việc thiết đặt thời hạn, phát âm thời gian cũng trở thành tiện lợi bằng phương pháp ảnh hưởng thẳng vào tkhô giòn ghi.

Nguồn cloông chồng cấp cho mang lại cỗ RTC hoạt động rất có thể được sử dụng 1 trong những 3 nguồn sau:

HSE : sử dụng thạch anh xung quanh tốc độ cao 62.5 Khz, trường đoản cú 8MHZ sẽ tiến hành chia 128 lần để ra tần số 62.5KhzLSI RC: áp dụng bộ xấp xỉ RC nội tốc độ 40Khz.LSE : sử dụng thạc anh bên cạnh tốc độ thấp 32.768khz.Thạch anh kế bên giúp bộ MCU chuyển động định hình hơn so với cỗ xấp xỉ RC nội (sai số 1%). khi đề nghị Backup data lúc mất mối cung cấp trên chân VDD thì cần phải có 2 điều kiện là áp dụng thạch anh xung quanh và tất cả năng lượng điện áp bên trên chân VBAT.Các công dụng cơ phiên bản của bộ RTC:Bộ chia cloông chồng lên tới trăng tròn bit, góp cỗ RTC vận động đúng mực.Độ phân giải của timer RTC lên đến mức 32 bit – Có nghĩa là 2^32 giây bắt đầu tràn cùng yêu cầu rephối lại.3 mối cung cấp clochồng source có thể được áp dụng.2 nhiều loại Rephối RTC cá biệt.Có các ngắt cung cấp là : ngắt Alarm, ngắt mỗi giây, ngắt tràn bộ đếm.

Giản thiết bị bloông xã khối RTC: 

*

Hãy cùng đối chiếu giản đồ vật này nhằm phát âm quá trình hoạt động vui chơi của RTC trước lúc bọn họ đi qua một vài tkhô cứng ghi quan trọng vào RTC.

Sở RTC tại đây sẽ gồm 2 phần chính:

Đầu tiên, APB1 Interface được thực hiện để tiếp xúc cùng với APB1 bus. APB1 Interface hỗ trợ cho Chip Core có thể đọc ghi tài liệu đến các thanh hao ghi vào cỗ RTC thông qua APB1 bus. Dường như, APB1 interface sẽ được APB1 bus cloông xã vào quy trình tiếp xúc tài liệu.Tiếp theo, các khối RTC được chia làm 2 phần chính:Kăn năn thứ nhất, RTC prescaler sau khoản thời gian bọn họ cấp cho clock mang lại RTC thì ở chỗ này nó sẽ qua bộ RTC_DIV nhằm phân tách tần, với bạn có thể lập trình sẵn tạo thành tần số lên tới mức 1Hz (1s). Sau kia xung TR_CLK sẽ được cấp cho vào kăn năn 32 bit programmable counter, quý hiếm trong RTC_CNT theo cùng với tần số TR_CLK cấp cho vào, RTC_CNT sẽ được so sánh với mức giá trị định sẵn trong RTC_ALR nhằm tạo nên ngắt đánh thức hệ thống dậy ở chế động Standby mode(chế độ tiết kiệm năng lượng)

Một số tkhô nóng ghi đặc biệt quan trọng trong bài xích hôm nay:

1. RTC_CR – RTC control register.

*

Tkhô nóng ghi này bao gồm 2 thanh ghi high cùng low với các bit nlỗi sau:OWIE: cờ báo ngắt tràn Khi bộ đếm thừa qua giá trị 2^32.ALRIE: cờ báo ngắt Alarm – y như báo thời hạn báo thức trong đồng hồ hứa giờ đồng hồ.SECIE : cờ báo ngắt 1s xẩy ra.RTOFF: cờ báo bộ RTC gồm đang làm việc hay là không.CNF: Cờ báo có đang vào quá trình thông số kỹ thuật tốt vẫn thông số kỹ thuật hoàn thành.RSF: cờ báo những tkhô hanh ghi đã được đồng nhất, thống tuyệt nhất cùng nhau hay chưa.OWF : cờ báo tràn lúc cỗ đếm vượt qua cực hiếm 2^32.ALRF: cờ báo Alarm – hệt như báo thời gian báo thức trong đồng hồ thời trang hứa hẹn giờ.SECF: cờ báo mỗi 1s xảy ra.

2. RTC_DIV – RTC prescaler divider register.

Xem thêm: Bitshares Là Gì - Tổng Quan Về Đồng Tiền Ảo Bitshare (Bts)

*

3. RTC_CNT – RTC counter register.

*

Thanh khô ghi này 32bit cất cực hiếm cỗ đếm của couter. Muốn nắn biết thời gian bắt buộc đọc quý giá từ tkhô giòn ghi này về.B/Thực hành RTC bên trên kit STM32F103C8

khi thực hiện CubeMX, ứng dụng này vẫn hỗ trợ cho họ cấu hình tất cả những thanh ghi thuở đầu, trong bài xích này họ vẫn tiến hành 2 câu hỏi đọc tài liệu thời gian với thiết lập thời gian ban sơ.

trước hết, tạo project với CubeMX cùng cấu hình nhỏng sau:

– SYS, phần debug chúng ta sẽ chọn Serial wire để hấp thụ dữ liệu

*

– UART1, chúng ta đã thực hiện với mục tiêu in dữ liệu đọc được ra ứng dụng Hercules

*

– Ở RTC, chúng ta lựa chọn Active sầu Cloông chồng source

*

– Tiếp theo, click vào tab Clock Configuration chúng ta có thể thấy ngày nay cỗ RTC đang thực hiện Clock LSI RC cùng với tần số là 40Khz

*

– Tiếp theo, cliông chồng vào tab configuration chúng ta msinh sống RTC lên. Tại parameter settings, bọn họ đã phối thời gian ban đầu đến bộ RTC, tại đoạn Calendat Date tất cả tháng ngày năm, ở phần Calendar Time bao hàm tiếng phút giây, phần General tương quan mang lại cỗ phân tách tần để tạo thành khoảng tầm thời gian đếm 1s, đầu ra là tín hiệu áp ra output trên chân TAMPER pin Khi gồm sự kiện. Dường như còn tồn tại Alarm A, đấy là tùy chỉnh thiết lập để hứa giờ đồng hồ báo thức của bộ RTC.

*

*

– Sau khi thông số kỹ thuật ngừng các bạn lưu giữ thông số kỹ thuật lại và qua mặt project KeilC nhằm lập trình

*

– Trước tiên, bọn họ sẽ sở hữu 3 struct để chứa tài liệu tháng ngày năm, giờ time với alarm. Tiếp theo câu lệnh hiểu thanh khô ghi backup xem test gồm phải đúng giá trị 0x32f2 hay không, còn nếu không đúng giá trị đó thì họ đã triển khai vấn đề thông số kỹ thuật thời hạn lúc đầu mang lại cỗ RTC.

*

– Sau lúc cấu hình chấm dứt bọn họ vẫn ghi quý giá 0x32f2 vào tkhô giòn ghi backup để lần sau thời điểm gồm khởi cồn lại chip thì chương trình đã chạy lại từ trên đầu với đánh giá tkhô giòn ghi backup để không cần thiết phải khởi sinh sản lại thời hạn nữa bởi nó đã làm được khởi chế tạo ra trước đó.

Xem thêm: Cách Trade Coin Là Gì? Các Bước & 10 Bí Kíp Trade Coin Hiệu Quả

– Tiếp theo mình đã khởi chế tạo các đổi thay đễ lưu trữ thời gian

*

– Tiếp theo, nhằm đọc tài liệu RTC bản thân áp dụng 2 hàm HAL_RTC_GetTime, với HAL_RTC_GetDate. Thông số trước tiên là hệ trọng rtc họ đã áp dụng, thông số thứ hai là liên tưởng phát triển thành truct họ dìm tài liệu và thông số máy 3 là format dữ liệu mà lại họ đọc.

*

– Để in dữ liệu, bản thân sử dụng UART đã làm được thông số kỹ thuật tự sẵn cùng sử dụng hàm printf nhằm in dữ liệu lên Hercules. Để thực hiện printf chúng ta xem thêm nội dung bài viết này. Hoặc những chúng ta có thể sử dụng chức năng debugs theo hướng dẫn tại bài viết này.