본문 바로가기

개발/embed

Nuvoton M483 i2c + RV3028 (RTC) IRQ , 고정밀 RTC 비교, sample source

반응형

 

먼저 고정밀 RTC 비교

1.  RV3028 : 1 ppm

5000원/개

 

2.  DS3231 :  5 PPM (1일 ±0.432초)

♦Accuracy ±2ppm from 0°C to +40°C
♦Accuracy ±3.5ppm from -40°C to +85°C

아두이노

15000원/개

 

 

3. DS1307 , DS1308

better than ±2 minute/month at 25°C

7500 원/개

 

4. PCF2131

accuracy ±3 ppm from -40 °C to +85 °C

5000원/개

 

1ppm

= 100만초에 1초 틀림

= 10일에 1초 도 안틀림 

= 한달에 3초도 안틀림

= 1년 32초 틀림

 

-------------------

nuvoton에서 제공하는 i2c.c 를 이용 하였는데,

  irq 를 이용 하는 방법 만들어 추가 함. 

-- 즉 irq 이용 안하던거과 irq 이용하는거 합본임.

 

뭐 사실 HDC1080 (온도 습도 센서) 와 TLC59116(LED Driver) 도 I2c 로 이용 하는거 같이 들어 있음

 

1. Version.h 에서 
#define _I2C_MODE     1    //   0: Use i2c.c.  1: Use IRQ,  2:Use MyI2c.c

 

라 되어 있는데 _I2C_MODE  를

1로 설정 하면,  irq 를 사용 하여 multibyte rw 를 하는 code 를 넣었고,

0으로 하면, nuvoton 에서 제공하는 i2c.c 에 있는 multibyte rw 함수를 이용 한다.

 

2. i2c 포트는

   i2c0과 i2c1 을 이용한 버전 2가지를 만들었다.

   i2c0 - pb4, pb5 를 이용 하였고

    i2c1 - pb1 pin6 scl , pb0 pin7  sda 을 이용 하였다 

 

3. RV3028 리소느는

https://github.com/Kampi/RV-3028-C7   에서 가져옴.

 

GitHub - Kampi/RV-3028-C7: MicroCrystal RV-3028-C7 driver implementation with an example project for the NRF52-DK development bo

MicroCrystal RV-3028-C7 driver implementation with an example project for the NRF52-DK development board from Nordic Semiconductor. - GitHub - Kampi/RV-3028-C7: MicroCrystal RV-3028-C7 driver imple...

github.com

 

4. nuvoton 제공  샘플 lib 코드에 i2c  irq 핸들러가 제공 되는데 뭐 잘 모르겠고, 해서 i2c.c 에 있는

     uint32_t I2C_WriteMultiBytes(I2C_T *i2c, uint8_t u8SlaveAddr, uint8_t data[], uint32_t u32wLen)

    uint32_t I2C_ReadMultiBytes(I2C_T *i2c, uint8_t u8SlaveAddr, uint8_t rdata[], uint32_t u32rLen)

 

  참고 하여 multibyte rw  가 되는 irq 콜백 함수 를 만듬

       void I2C1_TxRxCallback()

 

 

뭐 대부분 가위질이지만,  뭘 잘라 어디에 붙여야 하는지는 한거 같음..

 

5. 출력

 

6. 소스 와 관련 자료 올림.

     죄송 하지만 세부 설명은 다음에... 혹시 기회가 온다면..

 

 

m483_RV3028-TLC59116-HDC1080-230810.zip
0.90MB

 i2c0 - pb4, pb5 를 이용  버전

 

m483_RV3028-TLC59116-HDC1080-230808.zip
0.90MB

 i2c1 - pb1 pin6  pb0 pin7 이용 버전

 

 

RV-3028-C7_App-Manual-2021.pdf
2.89MB
RV-3028-C7-master.zip
0.04MB
RV-3028-C7-rtc.pdf
0.81MB

 

 

 

7. 누보톤 관련 리소스는

https://www.nuvoton.com.cn/products/microcontrollers/arm-cortex-m4-mcus/m483-can-series/m483sgcae2a/?group=Software&tab=2

에 있읍니다

 

8. 참고로  

Version.h 에서

#define _USE_HDC1080     0
#define _USE_TLC59116    0

#define _USE_RV3028    1

로 되어 있는거

한개씩 1로 만들어 해보시면 다른거도 됩니다.

 

 

* 보탬이 되셨나요?... 댓글 써주심.  힘이 됩니다... 고맙읍니다.

반응형