Đặt vấn đề Với sự phát triển không ngừng của khoa học kỹ thuật và cuộc cách mạng công nghiệp 4.0 đã tạo ra nhiều bước tiến nhảy vọt trong cuộc sống đặc biệt là với sự phát triển mạnh mẽ của nền công nghiệp điện tử trong những năm gần đây, các bảng mạch vi điều khiển được ra đời ngày càng nhiều, phát triển dần thay thế các mạch điện tử truyền thống mang lại nhiều ứng dụng, tiết kiệm được thời gian, công sức trong việc thiết kế phần cứng trong các dự án lớn và nhỏ cho các kỹ sư. Hiện tại, ở thị trường Việt Nam có rất nhiều loại vi điều khiển khác nhau: MSP430, MSP432, STM8, STM32, Arduino, PIC, …song bên cạnh đó để sử dụng một cách thành thạo các chuẩn giao tiếp có trong vi điều khiển thì tốn rất nhiều thời gian cho những người mới bắt đầu. Chính vì vậy, để thuận tiện cho sử dụng sẽ hướng đến việc quy hoạch các chân ngõ ra có các chuẩn giao tiếp khác nhau: Digial, Analog, I2C, SPI, UART, … thành từng Port riêng biệt tạo thành một bảng mạch quy hoạch ngõ ra - Shield Module. Tuy nhiên, để mua được bảng mạch quy hoạch ngõ ra - Shield module của dòng vi điều khiển MSP – Texas Instrument ở thị trường Việt Nam thì khá khó khăn do có rất ít hoặc hầu như không có cửa hàng cung cấp.
Dựa theo tình hình và tính cấp thiết, đề tài “Thiết kế KIT phát triển ứng dụng hệ thống quan trắc thông số môi trường” ứng dụng bảng mạch quy hoạch ngõ ra – Shield module dựa trên KIT LaunchPad MSP432P401R được đề ra nhằm hỗ trợ người dùng tốt hơn trong việc định hướng, sử dụng các Port dòng vi điều khiển MSP432 của Texas Instrument ngoài ra còn hỗ trợ cho việc xây dựng một hệ thống quan trắc các thông số của môi trường để ứng dụng trong nông nghiệp.2 Mục tiêu đề tài Thiết kế một bảng mạch quy hoạch các chân ngõ ra theo các chuẩn giao tiếp khác nhau của KIT LaunchPad MSP432P401R thành từng Port riêng biệt từ đó ứng dụng để xây dựng mô hình hệ thống quan trắc các thông số môi trường: nhiệt độ, độ ẩm, cường độ ánh sáng, độ pH, độ dẫn điện Ec, … trong nông nghiệp. Chỉ số 1 Tieu luan ngưỡng cài đặt có thể thay đổi tùy vào nhiệt độ và độ ẩm của môi trường để đảm bảo sự phát triển tốt nhất cho cây trồng. Thiết kế hai Node điều khiển các thiết bị thông qua hệ thống quan trắc trung tâm - Gateway. Quan sát được các thông số quan trắc thông qua trang web hoặc App Android đơn giản trên Smartphone mang lại sự tiện lợi cho người nông dân.
Sự ra đời của hệ thống hy vọng sẽ ứng dụng được cho nhiều mục đích khác nhau của người nông dân: trồng trọt, thủy sản, … Bên cạnh đó, bảng mạch quy hoạch các chân ngõ ra – Shield module ngoài việc xây dựng hệ thống cũng được sử dụng để hỗ trợ trong việc học tập, nghiên cứu các ứng dụng khác nhau liên quan đến dòng vi điều khiển MSP432P401R.3 Phạm vi đề tài Đề tài ứng dụng bảng mạch quy hoạch các chân ngõ ra – Shield module dựa trên Kit LaunchPad MSP432P401R để xây dựng một hệ thống quan trắc các thông số của môi trường trong nông nghiệp. Hệ thống có thể được ứng dụng cho nhiều mục đích khác nhau tùy theo nhu cầu của người dùng.4 Phương pháp nghiên cứu Nghiên cứu các chân, ngõ vào ra của Kit LaunchPad MSP432P401R từ đó quy hoạch các chân có cùng một chuẩn giao tiếp về cùng một Port. Nghiên cứu các giải pháp đưa dữ liệu thu thập được lên website thông qua giao thức truyền thông UART. Nghiên cứu ngôn ngữ Java để thiết kế App trên Android và ngôn ngữ thiết kế website PHP, cơ sở dữ liệu MySQL.
Đưa ra ý tưởng và thực hiện đề tài dựa trên tài liệu nghiên cứu một cách khoa học và hoàn thiện nhất. - 2 Tieu luan CHƯƠNG 2: CƠ SỞ LÝ THUYẾT VÀ ĐỊNH HƯỚNG THỰC HIỆN Nội dung chính: Giới thiệu cơ sở lý thuyết phần cứng và phần mềm hệ thống Giới thiệu cơ sở lý thuyết lập trình Web và App Android Giải pháp và yêu cầu thực hiện 2.1 Giới thiệu cơ sở lý thuyết phần cứng và phần mềm hệ thống 2.1 Tổng quan về Kit LaunchPad MSP432P401R Kit LaunchPad MSP432P401R là vi điều khiển dòng ARM 32-bit được sản xuất và được cung cấp bởi công ty Texas Instruments [1].1 KIT LaunchPad MSP432P401R [1] MSP là chữ viết tắt của cụm từ “MIXED SIGNAL MICROCONTROLLER”. Là dòng vi điều khiển siêu tiết kiệm năng lượng hoạt động với điện áp nguồn cấp từ 3.4V, các ngoại vi và hệ thống bộ định thời linh hoạt được kết nối với nhau theo cấu trúc VON-NEUMANN, đặc điểm của cấu trúc này là chỉ có duy nhất 1 bus giữa CPU và bộ nhớ (data và chương trình), do đó mà chúng phải có độ rộng bit tương tự nhau. MSP432 đã đưa ra được những giải pháp tốt cho những nhu cầu ứng dụng với nhiều phiên bản khác nhau.
MSP432 có một số phiên bản như: MSP432P401R, MSP432P401M. 3 Tieu luan Kit LaunchPad MSP432P401R được thiết kế hoàn toàn tương thích với các module không dây của TI như: CC1100, CC1101, CC1150, CC2500, CC2550 và CC2420. Các thành phần chính trên Kit bao gồm vi điều khiển MSP432P401R, MSP430G2452, TM4C129, buttons, led RGB, cổng kết nối Micro USB. Kit có tổng cộng 10 Port và 68 chân được đưa ra để sử dụng.2 Sơ đồ cấu trúc MSP432P401R [1] Một số đặc trưng của MSP432P401R MSP432P401R MCU công suất thấp, hiệu suất cao.
Hoạt động điện áp cung cấp: 3. Tiêu thụ điện năng: Hoạt động 80uA / MHz và hoạt động ở chế độ chờ 660nA RTC. Bộ nhớ: Flash 256 kB, RAM 64 kB. Bộ hẹn giờ: 4 x16-bit và 2 x 32-bit.
Giao tiếp: Tối đa 4 I2C, 8 SPI, 4 UART. 2 nút và LED RGB. UART kênh ngược qua USB sang PC. Với bất kỳ MCU nào thì việc phải thiết kế một mạch nạp cho chip là điều không thể bỏ qua.
Với MSP432 cũng không ngoại lệ MSP432 là dòng value line, power low, và low – cost. Chính vì vậy mà TI đã cung cấp cho người dùng một mạch nạp code và Debug chỉ trên một mạch nhỏ gọn.2 Tổng quan về truyền thông UART 4 Tieu luan UART là viết tắt của Universal Asynchronous Receiver – Transmitter [2]. Thường là một mạch tích hợp được sử dụng trong việc truyền dẫn dữ liệu nối tiếp giữa máy tính và các thiết bị ngoại vi. Rất nhiều vi điều khiển hiện nay đã được tích hợp UART, vì vấn đề tốc độ và độ tiện dụng của UART không thể so sánh với các giao tiếp mới hiện nay nên các dòng PC & Laptop đời mới không còn tích hợp cổng UART.
Như các bạn đã biết giao tiếp SPI và I2C có 1 dây truyền dữ liệu và 1 dây được sử dụng để truyền xung clock (SCL) để đồng bộ trong giao tiếp. Với UART thì không có dây SCL, vấn đề được giải quyết khi mà việc truyền UART được dùng giữa 2 vi xử lý với nhau, đồng nghĩa với việc mỗi vi xử lý có thể tự tạo ra xung clock cho chính nó sử dụng. Tín hiệu UART truyền – nhận theo kiểu Asynch – bất đồng bộ. Do đó, việc truyền – nhận với UART không phụ thuộc vào xung Clock.
Thay vào đó, 2 thiết bị truyền – nhận tín hiệu UART sẽ “thỏa thuận với nhau” các yếu tố: Baud rate – tốc độ truyền, stop – điểm dừng, start – điểm bắt đầu, data bits – các bit dữ liệu nhất định. Nhờ “thỏa thuận” này, receiver – đầu nhận, có thể giải mã được tín hiệu. UART được thiết lập dựa trên 2 chân TX và RX của vi điều khiển nối chéo với nhau như hình.3 Sơ đồ kết nối giao thức UART [2] UART chuyển các bit một tuần tự bằng cách pull UART line low trong 1 khoảng thời gian cố định – khoảng thời gian này đã được quy định bởi baud rate. UART line ở trạng thái idle sẽ tương ứng với mức HIGH của I/O level.
5 Tieu luan Yếu tố nhỏ nhất của quá trình truyền dữ liệu là UART frame – hay còn gọi là UART character. UART frame có cấu trúc như sau: Hình 2.4 Cấu trúc khung truyền UART [2] Start bit sẽ báo cho receiver biết được dữ liệu đang đến. Nếu trong UART frame không có start bit, bit đầu tiên sẽ mặc định bằng 1. Khi bit đầu tiên bằng 1, frame này sẽ được nhận dạng như một “dòng nghỉ” 0 - “idle line” cho đến khi được chuyển sang trạng thái “high”.
Số lượng data bits thường là 8 nhưng cũng có thể config – cấu hình thành 7 bits.3 Tổng quan về giao thức I2C I2C là tên viết tắt của cụm từ tiếng anh “Inter-Integrated Circuit” [3]. Là một giao thức giao tiếp được phát triển bởi Philips Semiconductors để truyền dữ liệu giữa một bộ xử lý trung tâm với nhiều IC trên cùng một board mạch chỉ sử dụng hai đường truyền tín hiệu. Do tính đơn giản nên loại giao thức này được sử dụng rộng rãi cho giao tiếp giữa vi điều khiển và mảng cảm biến, các thiết bị hiển thị, thiết bị IoT, EEPROMs, v.v Đây là một loại giao thức giao tiếp nối tiếp đồng bộ có nghĩa là các bit dữ liệu được truyền từng bit một theo các khoảng thời gian đều đặn được thiết lập bởi một tín hiệu đồng hồ tham chiếu. Sau đây là một số đặc điểm quan trọng của giao thức giao tiếp I2C: Chỉ cần có hai đường bus (dây) chung để điều khiển bất kỳ thiết bị / IC nào trên mạng I2C.
Không cần thỏa thuận trước về tốc độ truyền dữ liệu như trong giao tiếp UART. Vì vậy, tốc độ truyền dữ liệu có thể được điều chỉnh bất cứ khi nào cần thiết. 6 Tieu luan Cơ chế đơn giản để xác thực dữ liệu được truyền. Sử dụng hệ thống địa chỉ 7bit để xác định một thiết bị / IC cụ thể trên bus I2C.
Các mạng I2C dễ dàng mở rộng. Các thiết bị mới có thể được kết nối đơn giản với hai đường bus chung I2C. Bus vật lý I2C Bus I2C (dây giao tiếp) chỉ gồm hai dây và được đặt tên là Serial Clock Line (SCL) và Serial Data Line (SDA). Dữ liệu truyền đi được gửi qua dây SDA và đồng bộ với tín hiệu đồng hồ (clock) từ SCL.
Tất cả các thiết bị / IC trên mạng I2C được kết nối với cùng đường SCL và SDA như sau: Hình 2.5 Sơ đồ kết nối I2C các thiết bị [3] Cả hai đường bus I2C (SDA, SCL) đều hoạt động như các bộ lái cực máng hở (open drain). Có nghĩa là bất kỳ thiết bị / IC trên mạng I2C có thể lái SDA và SCL xuống mức thấp, nhưng không thể lái lên mức cao.