Bối cảnh và vấn đề nghiên cứu

Trong lĩnh vực kỹ thuật điện tử và tự động hóa, vi điều khiển và vi xử lý đóng vai trò nền tảng trong việc xây dựng các hệ thống nhúng từ dân dụng đến công nghiệp. Trước xu hướng phát triển nhanh chóng của công nghệ bán dẫn, các nhà sản xuất chip liên tục đưa ra những kiến trúc tích hợp hệ thống trên một vi mạch (System-on-a-Chip - SoC) nhằm tối ưu hóa hiệu năng xử lý, khả năng kết nối mạng và tiết kiệm năng lượng. Tuy nhiên, trong môi trường đào tạo thực hành kỹ thuật tại Việt Nam ở thời điểm thực hiện đề tài, các bộ kit thí nghiệm phục vụ sinh viên chủ yếu vẫn tập trung vào các dòng vi điều khiển truyền thống như họ PIC (PIC 18F2455, 18F2550, 16F887), dòng ARM hoặc vi máy tính Raspberry Pi. Các nền tảng phần cứng phát triển từ Intel, điển hình là kit Intel Galileo, còn tương đối mới mẻ và chưa có nhiều mô hình thực hành đồng bộ phục vụ đào tạo tại các phòng thí nghiệm đại học.

Xuất phát từ thực tiễn trên, đề tài "Thiết kế và thi công bộ thí nghiệm vi xử lý giao tiếp kit Intel Galileo" được thực hiện bởi sinh viên Phạm Quang Minh và Hồ Văn Trọng dưới sự hướng dẫn của ThS. Ngô Bá Việt tại Bộ môn Điện tử Công nghiệp – Y sinh, Khoa Điện – Điện tử, Trường Đại học Sư phạm Kỹ thuật Thành phố Hồ Chí Minh (khóa đào tạo 2014, hoàn thành tháng 01/2019).

Đề tài xác định các mục tiêu và nhiệm vụ nghiên cứu cụ thể như sau:

  1. Mục tiêu 1: Thiết kế và thi công hoàn chỉnh phần cứng một bộ thí nghiệm vi xử lý tích hợp các khối chức năng cơ bản (led đơn, led 7 đoạn, LCD, bàn phím) và các khối chức năng nâng cao (giao tiếp máy tính, điều khiển động cơ DC, thời gian thực, cảm biến).
  2. Mục tiêu 2: Xây dựng hệ thống bài tập thí nghiệm, viết mã nguồn mẫu trên môi trường phần mềm Arduino nhằm kiểm tra tính tương thích và đánh giá độ ổn định của kit Intel Galileo Gen 2 khi giao tiếp với các module ngoại vi.

Phạm vi và giới hạn của đề tài bao gồm:

  • Phần cứng điều khiển trung tâm: Sử dụng bo mạch Intel Galileo Gen 2 tích hợp SoC Intel Quark X1000.
  • Phần cứng ngoại vi: Thiết kế tích hợp trên bo mạch thí nghiệm với 6 module ngoại vi chức năng, sử dụng các IC chuyên dụng để mở rộng cổng và ghép nối ngoại vi (74HC595, 74HC138, L298, DS1307, LM35).
  • Môi trường lập trình: Sử dụng phần mềm Arduino IDE phiên bản hỗ trợ gói phần cứng Intel Galileo.
  • Thời gian và địa điểm thực hiện: Từ ngày 01/10/2018 đến ngày 05/01/2019 tại Trường Đại học Sư phạm Kỹ thuật TP. Hồ Chí Minh.

Cơ sở lý thuyết và phương pháp thực hiện

Cơ sở lý thuyết

Đề tài xây dựng trên nền tảng lý thuyết về kiến trúc vi xử lý, cấu trúc hệ thống trên chip (SoC) và các giao thức truyền dữ liệu đồng bộ/không đồng bộ phổ biến trong kỹ thuật vi điều khiển:

  1. Kiến trúc Vi xử lý – Vi điều khiển và SoC:

    • Vi xử lý (Microprocessor): Bao gồm đơn vị xử lý trung tâm (CPU), các cổng vào/ra song song, nối tiếp và các bộ định thời (Timers). Quá trình trao đổi dữ liệu với bộ nhớ và ngoại vi thông qua ba hệ thống đường dẫn: bus địa chỉ (Address Bus), bus dữ liệu (Data Bus) và bus điều khiển (Control Bus).
    • Hệ thống trên một vi mạch (System-on-a-Chip - SoC): Đóng gói toàn bộ CPU, bus hệ thống và các khối chức năng nội (ADC, DAC, PWM, I2C, SPI, UART, bộ điều khiển Ethernet) vào một chip duy nhất nhằm tăng tốc độ xử lý và giảm diện tích phần cứng.
  2. Các chuẩn truyền dữ liệu nối tiếp được khảo sát:

    • Chuẩn I2C (Inter-Integrated Circuit): Giao thức truyền thông nối tiếp đồng bộ bán song công 2 dây gồm đường xung nhịp đồng hồ ($SCL$) do thiết bị chủ (Master) phát đi (tần số chuẩn 100 kHz, 400 kHz, mở rộng lên 1 MHz và 3.4 MHz) và đường dữ liệu hai chiều ($SDA$). Khung truyền dữ liệu 8-bit bao gồm 7 bit địa chỉ thiết bị và 1 bit chọn chế độ Đọc/Ghi ($R/\bar{W}$), kèm các trạng thái START, STOP và bit phản hồi xác nhận bắt tay (ACK/NACK).
    • Chuẩn SPI (Serial Peripheral Bus): Giao thức truyền thông nối tiếp đồng bộ song công toàn phần (full-duplex) 4 dây: $MOSI$ (Master Output Slave Input), $MISO$ (Master Input Slave Output), $SCK$ (Serial Clock do Master phát) và $SS$ (Slave Select tích cực mức thấp để chọn thiết bị tớ). Tốc độ truyền cao, truyền nhận đồng thời từng bit dữ liệu theo từng chu kỳ xung nhịp.
    • Chuẩn 1-Wire: Giao thức truyền thông không đồng bộ, bán song công (half-duplex) hoạt động theo mô hình chủ - tớ chặt chẽ, chỉ sử dụng một đường dây truyền tín hiệu kết hợp cấp nguồn (ký sinh). Quá trình truyền nhận dựa trên các khe thời gian nghiêm ngặt: tạo xung Reset/Presence tối thiểu 480 µs, ghi bit 1 (kéo bus thấp 1–15 µs), ghi bit 0 (kéo bus thấp 60–120 µs) và đọc bit (lấy mẫu sau 15 µs kể từ khi kéo thấp).
  3. Thông số kỹ thuật bộ xử lý trung tâm và linh kiện ngoại vi:

    • Kit Intel Galileo Gen 2: Trang bị bộ xử lý Intel Quark X1000 SoC (xung nhịp 400 MHz, Flash 512 kB, RAM 256 MB DDR3, SRAM 512 kB, EEPROM 8 kB). Hỗ trợ 20 chân I/O kỹ thuật số (tích hợp 6 ngõ ra PWM độ phân giải 8/12 bit), 6 ngõ vào tương tự (Analog Input độ phân giải 12 bit), cổng Ethernet chuẩn Power Over Ethernet (PoE), khe cắm Micro-SD, khe cắm mini PCIe, cổng Micro USB, ICSP và JTAG. Định dạng chân tương thích chuẩn Arduino Uno R3 với mức điện áp logic cấu hình 3.3V hoặc 5V; nguồn cấp 7–15 VDC (khuyến nghị adapter 12 VDC - 1.25A).
    • Cảm biến nhiệt độ LM35: Dạng ngõ ra tương tự với tỷ lệ tuyến tính 10 mV/°C, điện áp hoạt động từ 4–20 VDC, dòng tiêu thụ 60 µA, dải đo nhiệt độ từ -55°C đến 150°C, độ chính xác thực tế ±0.25°C tại nhiệt độ phòng.
    • IC thời gian thực DS1307: Đếm giờ, phút, giây, thứ, ngày, tháng, năm theo định dạng BCD; giao tiếp I2C ở chế độ Slave; hỗ trợ phát hiện mất nguồn và tự động chuyển sang pin dự phòng nối chân VBAT; thanh ghi RTC chiếm địa chỉ 00h–07h, thanh ghi RAM chiếm 08h–3Fh.
    • IC thanh ghi dịch 74HC595: Thanh ghi ghi dịch 8 bit đầu vào nối tiếp, đầu ra song song hoặc nối tiếp kèm chốt dữ liệu 3 trạng thái; điều khiển qua các chân dữ liệu nối tiếp ($DS$), xung dịch ($SHCP$), xung chốt ($STCP$) và cho phép xuất ngõ ra ($\overline{OE}$).
    • IC giải mã 74HC138: Giải mã nhị phân 3 đường đầu vào ($A_0, A_1, A_2$) sang 8 đường đầu ra tích cực mức thấp ($\overline{Y_0}$ đến $\overline{Y_7}$), điều khiển qua 3 chân cho phép ($\overline{E_1}, \overline{E_2}$ mức thấp và $E_3$ mức cao).
    • IC công suất L298: Mạch cầu H đôi điều khiển động cơ DC dòng tối đa 2A mỗi cầu, điện áp điều khiển động cơ +5V đến +35V, điện áp tín hiệu logic điều khiển +5V đến +7V.

Phương pháp nghiên cứu và triển khai

Phương pháp thực hiện của đề tài là phương pháp thiết kế kỹ thuật kết hợp thực nghiệm:

  • Phương pháp phân tích - tổng hợp: Khảo sát sơ đồ chân, kiến trúc phần cứng của kit Intel Galileo Gen 2 và nguyên lý hoạt động của các họ IC điều khiển ngoại vi để xây dựng phương án ghép nối tối ưu chân vào/ra.
  • Phương pháp thiết kế phần cứng: Thiết kế phân tầng theo sơ đồ khối, phân tích và tính toán các thông số linh kiện (điện trở hạn dòng, điện trở kéo, tầng đệm khuếch đại dòng transistor), vẽ sơ đồ nguyên lý và layout bo mạch in PCB 2 lớp bằng phần mềm chuyên ngành.
  • Phương pháp thực nghiệm - kiểm thử: Thi công lắp ráp linh kiện thực tế, kết nối bo mạch thí nghiệm với kit Intel Galileo Gen 2; viết các chương trình điều khiển kiểm thử từng module ngoại vi độc lập trên Arduino IDE; sau đó chạy thử nghiệm đồng bộ toàn hệ thống để đánh giá độ chính xác và tính ổn định.

Thiết kế và thi công hệ thống

Phân tích sơ đồ khối và phân bổ chân giao tiếp

Hệ thống bộ thí nghiệm được phân chia thành 7 khối chức năng chính:

  • Khối xử lý trung tâm: Bo mạch Intel Galileo Gen 2 đóng vai trò nhận, xử lý tín hiệu và xuất lệnh điều khiển toàn hệ thống.
  • Khối nguồn: Cung cấp nguồn 5 VDC ổn định cho vi mạch logic, cảm biến, hiển thị và nguồn 12 VDC cho khối động cơ.
  • Khối nút nhấn và ma trận phím: Bao gồm 4 nút nhấn đơn có led chỉ thị trạng thái và 1 ma trận phím 4x4 (16 nút).
  • Khối hiển thị: Tích hợp 8 led đơn, 6 led 7 đoạn đôi (5621BS), màn hình LCD 16x2 và led ma trận 8x8 (1588BS).
  • Khối cảm biến: Sử dụng cảm biến nhiệt độ LM35 kết nối ngõ vào tương tự.
  • Khối thời gian thực: IC DS1307 giao tiếp bus I2C tích hợp pin nuôi dự phòng.
  • Khối động cơ: IC công suất L298 điều khiển động cơ 12 VDC.

Để tối ưu hóa số lượng chân I/O hạn chế trên kit Intel Galileo Gen 2 khi điều khiển đồng thời nhiều module, nhóm tác giả sử dụng các IC ghi dịch 74HC595 và IC giải mã 74HC138. Bảng phân bổ chân kết nối phần cứng được thiết kế như sau:

Chân trên kit Galileo Ký hiệu chân trong mạch Chức năng điều khiển trong hệ thống Module ngoại vi kết nối
Chân 0 0 Xung dịch dữ liệu ($SHCP$) Khối 8 led đơn (qua 74HC595)
Chân 1 1 Dữ liệu nối tiếp ($DS$) Khối 8 led đơn (qua 74HC595)
Chân 8 8 Xung chốt dữ liệu ($STCP$) Khối 8 led đơn (qua 74HC595)
Chân 12 12 Xung dịch dữ liệu ($SHCP$) Khối 6 led 7 đoạn (qua 74HC595)
Chân 10 10 Dữ liệu nối tiếp ($DS$) Khối 6 led 7 đoạn (qua 74HC595)
Chân 9 9 Xung chốt dữ liệu ($STCP$) Khối 6 led 7 đoạn (qua 74HC595)
Chân 13 13 Xung dịch dữ liệu ($SHCP$) Khối LCD 16x2 (qua 74HC595)
Chân 11 11 Dữ liệu nối tiếp ($DS$) Khối LCD 16x2 (qua 74HC595)
Chân 7 7 Xung chốt dữ liệu ($STCP$) Khối LCD 16x2 (qua 74HC595)
Chân 6 6 Cho phép xuất ngõ ra ($\overline{OE}$) Dùng chung cho Led đơn, Led 7 đoạn, LCD
Chân 3 3_HANG1 Tín hiệu ngõ vào Hàng 1 Nút nhấn đơn BTN1 / Hàng 1 ma trận phím
Chân 2 2_HANG2 Tín hiệu ngõ vào Hàng 2 Nút nhấn đơn BTN2 / Hàng 2 ma trận phím
Chân A2 A2_HANG3 Tín hiệu ngõ vào Hàng 3 Nút nhấn đơn BTN3 / Hàng 3 ma trận phím
Chân A3 A3_HANG4 Tín hiệu ngõ vào Hàng 4 Nút nhấn đơn BTN4 / Hàng 4 ma trận phím
Chân 5 5 $SHCP$ Led Matrix / $INT1$ động cơ / Tín hiệu A 74HC138 Led ma trận 8x8, IC L298, Quét phím
Chân 4 4 $STCP$ Led Matrix / $INT2$ động cơ / Tín hiệu B 74HC138 Led ma trận 8x8, IC L298, Quét phím
Chân A1 A1 $DS$ Led Matrix / $EN$ IC L298 Led ma trận 8x8, IC L298 điều tốc
Chân A0 A0 Ngõ vào tín hiệu điện áp tương tự Cảm biến nhiệt độ LM35
Chân A4 SDA Đường truyền dữ liệu nối tiếp chuẩn I2C Module thời gian thực DS1307
Chân A5 SCL Đường xung nhịp đồng hồ chuẩn I2C Module thời gian thực DS1307

Tính toán thông số mạch

  1. Tính toán điện trở hạn dòng cho led đơn và led 7 đoạn: Dòng điện định mức để mỗi đoạn led phát sáng ổn định nằm trong khoảng $I_{LED} = 10\text{ mA} - 20\text{ mA}$. Với nguồn cấp $V_{CC} = 5\text{ V}$, sụt áp thuận trên led đỏ $V_{LED} = 1.9\text{ V}$, giá trị điện trở hạn dòng được tính toán theo công thức: $$R = \frac{V_{CC} - V_{LED}}{I_{LED}} = \frac{5 - 1.9}{0.01} = 310,\Omega$$ Trên thị trường tiêu chuẩn hóa linh kiện, giá trị điện trở thương mại gần nhất là $330,\Omega$ (cho dòng chạy thực tế qua mỗi led xấp xỉ $9.4\text{ mA} - 13\text{ mA}$). Do đó, nhóm chọn toàn bộ điện trở hạn dòng cho led đơn và các thanh led 7 đoạn là $330,\Omega$.

  2. Tính toán tầng đệm transistor cho khối quét hiển thị: Đối với led 7 đoạn loại Anode chung và led ma trận, để đảm bảo cung cấp đủ dòng bão hòa cho toàn bộ các đoạn led khi bật đồng thời, mạch sử dụng transistor thuận PNP loại A1015 ($V_{CEO} = -50\text{ V}, I_C = -150\text{ mA}$, hệ số khuếch đại dòng $\beta = 100$). Điện trở phân cực cực B của transistor được tính toán để đảm bảo transistor dẫn bão hòa hoàn toàn khi có tín hiệu điều khiển mức thấp từ bộ giải mã.

  3. Tính toán khối nút nhấn: Mạch sử dụng cấu hình kéo lên (pull-up). Tại ngõ vào của vi điều khiển, trở kháng vào nằm trong khoảng $100\text{ k}\Omega - 1\text{ M}\Omega$. Do mạch tích hợp led đơn nối tiếp để chỉ thị trạng thái đóng/ngắt trực quan tại mỗi nút nhấn, giá trị điện trở kéo được chọn là $330,\Omega$ nối lên nguồn $5\text{ V}$ thay vì mức chuẩn $10\text{ k}\Omega$ nhằm đảm bảo dòng sáng cho led chỉ thị. Khi không nhấn nút, ngõ vào nhận mức logic 1 (HIGH); khi nhấn nút, đường tín hiệu nối tắt xuống GND, ngõ vào nhận mức logic 0 (LOW).

Thi công phần cứng và đóng gói mô hình

Quá trình thi công phần cứng được thực hiện qua các bước:

  • Thiết kế và gia công PCB: Bo mạch thí nghiệm được thiết kế mạch in 2 lớp (lớp trên Top Layer và lớp dưới Bottom Layer) nhằm tối ưu đường mạch tín hiệu và đường cấp nguồn, hạn chế nhiễu chéo giữa khối số và khối tương tự.
  • Hàn lắp linh kiện: Bố trí các đế cắm IC (DIP socket) cho 74HC595, 74HC138, DS1307, L298 giúp dễ dàng thay thế khi có sự cố; bố trí cọc nguồn, nút nguồn BTN_NGUON và hệ thống hàng rào cắm (header) kết nối trực tiếp với các chân của kit Intel Galileo Gen 2.
  • Đóng gói vỏ mô hình: Toàn bộ bo mạch thí nghiệm và kit Intel Galileo Gen 2 được lắp đặt cố định vào hộp mô hình bảo vệ, bố trí mặt trên trực quan, mặt trước và mặt hông có các cổng cắm nguồn adapter 12 VDC, cổng Micro USB nạp chương trình và cổng Ethernet.

Nội dung chính theo từng chương

Bố cục của đồ án tốt nghiệp gồm 6 chương với các nội dung trọng tâm:

Chương 1: Tổng quan

Chương 1 trình bày lý do lựa chọn đề tài, phân tích thực trạng các mô hình thí nghiệm vi điều khiển tại các trường kỹ thuật và sự cần thiết của việc tiếp cận dòng kit Intel Galileo Gen 2. Chương này nêu rõ mục tiêu tổng quát, 5 nội dung nghiên cứu chính từ khâu khảo sát, thiết kế phần cứng, thi công mạch, lập trình thực nghiệm đến viết tài liệu hướng dẫn, đồng thời xác định các giới hạn kỹ thuật của hệ thống.

Chương 2: Cơ sở lý thuyết

Chương 2 cung cấp cơ sở lý luận chi tiết về:

  • Sự phát triển từ vi xử lý sang vi điều khiển và cấu trúc hệ thống trên chip (SoC).
  • Nguyên lý truyền thông nối tiếp theo các chuẩn giao tiếp I2C, SPI và 1-Wire (kèm lưu đồ thời gian, định dạng khung truyền, các bước ghi/đọc dữ liệu).
  • Môi trường phát triển tích hợp Arduino IDE.
  • Cấu trúc phần cứng của bộ xử lý trung tâm Intel Galileo Gen 2 (chip Quark X1000) cùng các thiết bị đầu vào (ma trận phím 4x4, cảm biến LM35), thiết bị đầu ra (led 7 đoạn 5621BS, LCD 16x2, led ma trận 8x8 1588BS), các IC logic (74HC595, 74HC138), IC điều khiển công suất L298 và IC thời gian thực DS1307.

Chương 3: Tính toán và thiết kế

Chương 3 tập trung vào thiết kế kỹ thuật của hệ thống:

  • Xây dựng sơ đồ khối tổng thể gồm 7 khối chức năng.
  • Lập bảng phân bổ và ánh xạ chân giao tiếp giữa kit Intel Galileo Gen 2 với các module ngoại vi.
  • Trình bày sơ đồ nguyên lý chi tiết cho từng khối: khối xử lý trung tâm, khối nút nhấn đơn, khối ma trận phím 4x4 quét cột, khối 8 led đơn, khối 6 led 7 đoạn quét Anode chung, khối LCD 16x2, khối led ma trận 8x8, khối cảm biến LM35, khối thời gian thực DS1307, khối cầu H L298 và khối nguồn.
  • Tính toán lựa chọn linh kiện thụ động (điện trở hạn dòng $330,\Omega$, transistor đệm dòng A1015, điện trở kéo).

Chương 4: Thi công hệ thống

Chương 4 mô tả toàn bộ quy trình thực hiện thực tế:

  • Bản vẽ mạch in PCB 2 lớp (mặt trên, mặt dưới) và sơ đồ định vị bố trí linh kiện.
  • Quy trình lắp ráp, hàn cắm linh kiện, kiểm tra thông mạch và đo kiểm điện áp từng phân khu.
  • Đóng gói mô hình bộ thí nghiệm hoàn chỉnh.
  • Thiết kế lưu đồ giải thuật cho toàn bộ hệ thống, lưu đồ quét phím và đọc nút nhấn.
  • Hướng dẫn cấu hình môi trường Arduino IDE (cài đặt gói phần cứng Intel Galileo qua Boards Manager, chọn cổng COM, quy trình biên dịch và nạp mã nguồn qua cáp Micro USB).
  • Xây dựng tài liệu hướng dẫn thao tác, vận hành các bài thực hành mẫu cho người sử dụng.

Chương 5: Kết quả nhận xét đánh giá

Chương 5 tổng kết các kết quả đạt được sau quá trình chế tạo và thử nghiệm:

  • Đánh giá hoạt động của mô hình phần cứng thực tế và sự tương thích của kit Intel Galileo Gen 2.
  • Kiểm tra tính ổn định trong việc giao tiếp giữa kit xử lý với các khối ngoại vi (hiển thị ký tự trên LCD, quét led ma trận, hiển thị thời gian từ DS1307, đọc nhiệt độ từ LM35 và điều khiển tốc độ động cơ qua PWM).
  • So sánh tỷ lệ hoàn thành khối lượng công việc so với mục tiêu ban đầu đề ra.

Chương 6: Kết luận và hướng phát triển

Chương 6 đúc kết những ưu điểm đã đạt được của bộ thí nghiệm, chỉ ra các mặt hạn chế còn tồn tại về mặt phần cứng và phần mềm, đồng thời đề xuất các định hướng mở rộng nghiên cứu nhằm nâng cấp thiết bị trong tương lai.


Kết quả và đóng góp

Kết quả kỹ thuật đạt được

  1. Về phần cứng:

    • Chế tạo thành công 01 bộ thí nghiệm vi xử lý hoàn chỉnh, kết nối đồng bộ giữa kit Intel Galileo Gen 2 và bo mạch mở rộng ngoại vi.
    • Bo mạch tích hợp đầy đủ 6 khối module chức năng hoạt động chính xác: 8 led đơn, 6 led 7 đoạn đôi, màn hình LCD 16x2, led ma trận 8x8, ma trận phím 4x4 kết hợp 4 nút nhấn đơn, khối cảm biến nhiệt độ LM35, khối thời gian thực DS1307 và khối điều khiển động cơ DC dùng IC L298.
    • Thiết kế đóng gói khung vỏ gọn gàng, cách ly nguồn điện an toàn, có các cổng kết nối ngoại vi trực quan, thuận tiện cho thao tác cắm nạp chương trình và đo kiểm.
  2. Về phần mềm và tài liệu thực hành:

    • Xây dựng hoàn chỉnh gói bài tập thực hành mẫu trên phần mềm Arduino IDE: lập trình điều khiển led đơn nhấp nháy, đếm số trên led 7 đoạn, hiển thị chuỗi ký tự trên LCD 16x2, hiển thị hình ảnh/chữ chạy trên led ma trận 8x8, giải thuật quét ma trận phím, đọc và chuyển đổi tín hiệu ADC từ cảm biến LM35, giao tiếp I2C đọc/ghi thời gian thực DS1307, xuất xung PWM điều khiển động cơ.
    • Biên soạn bộ tài liệu hướng dẫn chi tiết quy trình kết nối, cấu hình phần mềm và nạp code cho kit Intel Galileo Gen 2.

Đóng góp của đề tài

  • Đóng góp học thuật và đào tạo: Cung cấp một bộ công cụ thực hành phần cứng mới mẻ sử dụng nền tảng vi xử lý Intel SoC (Quark X1000), bổ sung vào danh mục thiết bị thí nghiệm của ngành Kỹ thuật Điện tử - Truyền thông, giúp sinh viên tiếp cận sớm với kiến trúc máy tính nhúng tiên tiến của Intel ngoài các họ vi điều khiển truyền thống.
  • Đóng góp kỹ thuật: Đưa ra giải pháp thiết kế mạch tối ưu việc dùng chung đường bus điều khiển thông qua các IC ghi dịch và giải mã (74HC595, 74HC138), giúp một bộ kit phát triển có số lượng chân I/O hạn chế vẫn có thể giao tiếp đồng thời với nhiều module ngoại vi phức tạp.

Hạn chế và hướng nghiên cứu tiếp

Hạn chế của đề tài

Căn cứ theo nội dung và giới hạn kỹ thuật được tác giả trình bày trong văn bản:

  • Phạm vi module ngoại vi: Bộ thí nghiệm mới dừng lại ở việc tích hợp 6 module ngoại vi cơ bản và trung bình; chưa khai thác hết các tính năng phần cứng cao cấp có sẵn trên kit Intel Galileo Gen 2 như cổng Ethernet PoE, cổng USB Host 2.0, khe cắm thẻ nhớ Micro-SD hay khe mở rộng mini PCI Express.
  • Môi trường phần mềm: Các bài thực hành mới chỉ được triển khai trên nền tảng Arduino IDE ở mức điều khiển cơ bản, chưa đi sâu khai thác hệ điều hành Linux nhúng chạy trên SoC Quark X1000.

Hướng phát triển tiếp theo

Từ các hạn chế trên, hướng phát triển để hoàn thiện đề tài bao gồm:

  1. Mở rộng phần cứng: Thiết kế bổ sung các module ngoại vi nâng cao như module truyền thông không dây (WiFi, Bluetooth, GSM/GPRS), module màn hình đồ họa TFT màu, cổng mạng LAN Ethernet để xây dựng các bài thí nghiệm liên quan đến Internet of Things (IoT).
  2. Nâng cao khả năng lập trình phần mềm: Xây dựng hệ thống bài giảng và bài tập thực hành trên nền tảng Linux nhúng (Yocto Linux), lập trình giao tiếp mạng thông qua socket bằng các ngôn ngữ cấp cao như C/C++ hoặc Python.
  3. Chuẩn hóa công nghiệp: Cải tiến quy trình đóng gói, thiết kế mạch theo tiêu chuẩn công nghiệp với các bảo vệ chống ngược cực, chống quá dòng, quá áp toàn diện hơn nhằm tăng độ bền cho thiết bị khi phục vụ sinh viên thực hành thường xuyên.

Giá trị tham khảo

Tài liệu đồ án tốt nghiệp này có giá trị ứng dụng và tham khảo thiết thực cho nhiều đối tượng:

  • Sinh viên ngành Kỹ thuật Điện tử, Điện tử Truyền thông, Tự động hóa và Kỹ thuật Máy tính: Có thể sử dụng đồ án như một tài liệu tham khảo chi tiết về phương pháp ghép nối vi điều khiển với các thiết bị ngoại vi, kỹ thuật quét led ma trận, quét phím ma trận, giao tiếp chuẩn I2C với DS1307 và xử lý tín hiệu tương tự từ cảm biến nhiệt độ LM35.
  • Cán bộ giảng dạy và kỹ thuật viên phòng thí nghiệm: Cung cấp sơ đồ nguyên lý hoàn chỉnh, bản vẽ mạch in và hệ thống bài tập thực hành mẫu để xây dựng hoặc nâng cấp các bài thí nghiệm trong môn học Vi xử lý – Vi điều khiển và Hệ thống nhúng.
  • Người nghiên cứu về kit Intel Galileo: Nắm bắt được phương pháp cấu hình, quy trình nạp chương trình qua Arduino IDE và cách thức thiết kế mạch ghép nối phù hợp với mức điện áp logic của dòng vi xử lý Quark X1000.

Câu hỏi thường gặp

1. Bộ xử lý trung tâm Intel Galileo Gen 2 sử dụng trong đề tài có cấu hình phần cứng như thế nào? Bo mạch sử dụng bộ vi xử lý hệ thống trên chip (SoC) Intel Quark X1000 với xung nhịp 400 MHz, bộ nhớ RAM 256 MB DDR3, 512 kB SRAM, 512 kB bộ nhớ Flash và 8 kB EEPROM. Bo mạch có 20 chân I/O kỹ thuật số (gồm 6 chân PWM), 6 chân Analog Input, hỗ trợ mức điện áp 3.3V hoặc 5V với định dạng chân cắm tương thích chuẩn Arduino Uno R3.

2. Nhóm tác giả đã giải quyết bài toán thiếu chân I/O trên kit Intel Galileo bằng phương pháp nào? Nhóm tác giả đã sử dụng các IC chức năng mở rộng gồm: IC ghi dịch 8 bit 74HC595 (đầu vào nối tiếp, đầu ra song song) để điều khiển khối 8 led đơn, 6 led 7 đoạn, LCD 16x2, led ma trận 8x8; và IC giải mã 3 sang 8 đường 74HC138 để quét các cột của ma trận phím 4x4. Cách bố trí này giúp tiết kiệm tối đa số chân điều khiển từ kit trung tâm.

3. Công thức và giá trị điện trở hạn dòng được tính toán cho các khối led trong mạch là bao nhiêu? Điện trở hạn dòng được tính theo định luật Ohm với công thức $R = \frac{V_{CC} - V_{LED}}{I_{LED}}$. Với điện áp nguồn $V_{CC} = 5\text{ V}$, sụt áp thuận của led $V_{LED} = 1.9\text{ V}$ và dòng định mức $I_{LED} = 10\text{ mA}$, giá trị tính toán ra là $310,\Omega$. Nhóm tác giả đã lựa chọn giá trị điện trở thương mại chuẩn là $330,\Omega$ cho toàn bộ khối led đơn và led 7 đoạn.

4. Khối thời gian thực và khối cảm biến nhiệt độ kết nối với kit Galileo qua các chân tín hiệu nào? Khối cảm biến nhiệt độ LM35 xuất điện áp tương tự kết nối trực tiếp vào ngõ vào A0 (Analog Input) của kit. Khối thời gian thực DS1307 sử dụng chuẩn giao tiếp I2C, kết nối vào chân A4 (đường truyền dữ liệu $SDA$) và chân A5 (đường xung nhịp $SCL$) của kit Intel Galileo Gen 2.

5. Môi trường phần mềm và cách thức nạp chương trình cho bộ thí nghiệm được thực hiện ra sao? Hệ thống sử dụng phần mềm mã nguồn mở Arduino IDE (phiên bản 1.8 trở lên có cài đặt gói hỗ trợ bo mạch Intel Galileo thông qua công cụ Boards Manager). Chương trình được viết, biên dịch và nạp trực tiếp từ máy tính sang bộ thí nghiệm thông qua kết nối cáp Micro USB và cổng COM ảo được nhận diện tự động.


Kết luận

Đồ án tốt nghiệp "Thiết kế và thi công bộ thí nghiệm vi xử lý giao tiếp kit Intel Galileo" đã hoàn thành trọn vẹn các mục tiêu nghiên cứu và thi công kỹ thuật đề ra. Nhóm tác giả đã thiết kế thành công phần cứng bo mạch thí nghiệm tích hợp 6 module ngoại vi đa dạng, tính toán chính xác các thông số linh kiện và kiểm thử hệ thống hoạt động ổn định trên nền tảng kit Intel Galileo Gen 2. Kết quả của đề tài đóng góp một mô hình học cụ trực quan, có tính ứng dụng cao, phục vụ hiệu quả cho công tác giảng dạy, học tập và nghiên cứu thực hành trong ngành Công nghệ Kỹ thuật Điện tử – Truyền thông.