Sim A9G bài 1: Giới thiệu module sim A9/A9G của Ai-Thinker

Sim A9G bài 1: Giới thiệu module sim A9/A9G của Ai-Thinker

Series: Lập trình module sim A9G với GPRS_C_SDK

wp-content/uploads/2019/09/A9G_GPRS_GPS_SS1.png

A9 và A9G

A9 A9G là 2 module SIM của Ai-Thinker.

Chúng hầu như tương đương nhau về phần cứng và đều nhắm tới các ứng dụng cần mạng GSM/GPRS (2G).

Điểm khác biệt trên A9G là nó được tích hợp thêm con chip GK9501, nhằm phục vụ cho các ứng dụng định vị GPS. Còn lại, chúng hoàn toàn tương thích với nhau.

A9/A9G có thể hoạt động ở chế độ AT Command khi kết nối với Arduino, giống như các module SIM phổ biết của SIMCOM (SIM8xx, SIM9xx).

Ngoài ra, chúng được trang bị CPU RDA8955 (có khá ít thông tin về hãng sản xuất con chip này) và có khả năng chạy độc lập các ứng dụng viết bằng C/C++ nhúng trực tiếp trên module mà không cần bất cứ board Arduino nào. Ai-Thinker cũng phát hành bộ GPRS_C_SDK phục vụ việc viết ứng dụng cho 2 module này, điều đó làm cho chúng khác biệt so với các module SIM khác.

Bạn có 1 chút nghi ngờ? Hãy xem chức năng của chúng có gì nào 😉

Các chức năng của A9/A9G

  • RDA 32 bit RISC core, frequency up to 312MHz, with 4k instruction cache, 4k data cache
  • Up to 29 GPIOs (with two download pins HST_TX,HST_RX )
  • Real Time Clock with alarm
  • 1 USB1.1 device interface (just for power)
  • 2 UART interface with flow control (+1 download/debug serial port)
  • 2 SPI interface
  • 3 I 2 C interface
  • 1 SDMMC controller (interface)
  • 2 ADC interface, 10 bits
  • 32Mb (4MB) SPI NOR Flash
  • 32Mb (4MB) DDR PSRAM
  • 8kHz, 13Bits/sample ADC micro
  • 48kHz, 16bits/sample DAC Audio
  • Power Management Unit: Lithium battery charge management, integrated DC-DC and LDOs, variable IO voltage
  • 18.8 x 19.2 mm SMD package
  • Quad-band GSM/GPRS (800/900/1800 / 1900MHz)
  • Calls
  • SMS service

Có thể thấy, chúng có những tính năng không khác gì một board Arduino hoàn chỉnh, thậm chí xung nhịp CPU còn cao hơn rất nhiều. Bên cạnh đó, với Power Management Unit – bộ quản lý nguồn và sạc pin, thì A9/A9G trở thành board chuyên dụng cho các ứng dụng thiết bị di động đúng nghĩa.

Nếu như ESP8266 và ESP32 đang dần thay thế Arduino trong các thiết bị cần WiFi thì A9/A9G có lẽ sẽ thay thế Arduino trong các thiết bị di động.

Ứng dụng của A9/A9G

Với các tính năng trên, chúng ta có thể ứng dụng vào các dự án IOT như:

  • Định vị tàu, xe, điều khiển và giám từ xa
  • Tích hợp các cảm biến và gửi dữ liệu về máy chủ thông qua mạng GPRS
  • Điện thoại siêu nhỏ, siêu tí hon
  • Công tắc GSM/GPRS
  • Vân vân và mây mây, các bạn có ý tưởng hay hãy để lại comment nhé 😀

Pudding – Board phát triển A9/A9G

Pudding là một board phát triển A9G phổ biến nhất hiện nay, do Ai-Thinker sản xuất. Nó có giá khoảng từ 200k-300k.

Pudding về cơ bản là board “ra chân” cho A9G. Nó có đầy đủ các chức năng của giúp các bạn làm quen và phát triển các ứng dụng cho A9G với bộ GPRS_C_SDK.

Phần cứng

  • 1 module A9G
  • 29 GPIOs, trong đó có 2 chânHST_TX,HST_RX để nạp firmware và debug.
  • 1 khe micro SIM
  • 1 khe cắm thẻ nhớ micro SD
  • 1 anten GPRS
  • 1 antent GPS
  • 1 cổng micro USB (chỉ để cấp nguồn, không thể debug)
  • 5v-4.2V DC-DC converter để sạc pin li-po
  • 1 accelerometer chip(LIS3DHx) <– chưa được hàn vào board
  • 1 nút nhấn nguồn
  • 1 nút nhấn reset
  • 2 LED (GPIO_27 và GPIO_28)
  • 1 microphone

Sơ đồ chân

Mình thấy khá nhiều bạn gặp vấn đề trong việc cấp nguồn ổn định cho các module SIM8xx, với Pudding thì không, nó được cấp nguồn thông qua cổng micro USB rất tiện lợi và ổn định.

Trên board còn có chân VBAT để sạc pin li-po, điều này cực kì hữu ích cho các ứng dụng định vị và theo dõi vị trí.

Ưu và nhược điểm của A9/A9G và Pudding

Ưu điểm

  • Kích thước nhỏ gọn mà vẫn đầy đủ các chức năng cơ bản của một VĐK
  • Không kén nguồn và có bộ quản lý nguồn pin
  • Có khả năng chạy ứng dụng C/C++ độc lập, không cần Arduino
  • Giá rẻ so với chức năng mang lại (GSM/GPRS+GPS)

Nhược điểm

  • Không có built-in PWM
  • Cổng micro USB không thể dùng để nạp firmware và debug được. Do vậy, cần phải có mạch chuyển USB-UART ngoài để nạp
  • Hiện tại cộng đồng lập trình cho các module này còn ít
  • Tài liệu từ nhà sản xuất đã ngừng cập nhật từ lâu
  • Độ tin cậy vẫn chưa được kiểm chứng

Tạm kết

Với những đặc điểm khác biệt và hoàn thiện như trên, A9/A9G thực sự đáng để nghiên cứu và thử nghiệm cho các dự án cần định vị GPS.

Sau gần 1 năm làm việc với module này, mình cảm thấy khá hài lòng về độ ổn định. Mình đánh giá 2 module này, đặc biệt là A9G, có thể sẽ thổi bay khá nhiều combo Arduino+SIM8xx hiện tại 😀

Hiện có rất ít tài liệu nói về việc lập trình GPRS_C_SDK với 2 module này. Vì thế, mình quyết định làm 1 loạt bài Lập Trình Module Sim A9G Với GPRS_C_SDK để chia sẻ cùng các bạn.

Trong bài tiếp theo, mình sẽ hướng dẫn các bạn cách cài GRPS_C_SDK và các công cụ cần thiết để bắt đầu code cho chúng.

Stay tuned!

Tham khảo

A9/A9g Specification

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *