[TUT] Hướng Dẫn Nạp Board Main-Msp430 Bằng Kit Launchpad

Manhdd

Cố Vấn CLB
Staff member
Tài liệu này hướng dẫn cách sử dụng Kit TI MSP430 Launch Pad như là một mạch nạp cho chip MSP430 trên board Main-MSP430. Board Main-MSP430 dùng để demo là 1 board MSP430 của khóa C9 của CLB. Kí hiệu các phần tử trên board cũng thống nhất với kí hiệu trong Schematic của đề thi khóa C9.
1 Bước 1: Test thử kit LaunchPad.
1.1 Cấu trúc kit LaunchPad
Hình minh họa kit LaunchPad Rev.1.1 (bản ổn định hiện tại là Rev.1.5) :
Một kit LaunchPad gồm hai thành phần, với GND được phủ chung:
- Nửa trên: Là phần mạch nạp theo chuẩn spy-bi-wire Jtag (2 dây), kết hợp với chuyển đổi giao tiếp UART với máy tính. Trên cùng là đầu USBmini để nối với máy tính, phía dưới là hàng Header để nối ra đối tượng cần giao tiếp, bao gồm các chân:
· TXD, RXD: phục vụ giao tiếp UART với máy tính.
· RST, TEST: phục vụ nạp và debug (sửa lỗi) theo chuẩn spy-bi-wire Jtag.
· VCC: cấp nguồn 3V3 cho đối tượng (thường là nửa dưới LaunchPad).
- Nửa dưới: là một mạch phát triển MSP430 đơn giản, bao gồm:
· Socket cắm MSP430 (thường gắn sẵn chip MSP430G2553), Pad hàn thạch anh, Nút nhấn Reset chip.
· Nút nhấn gắn vào P1.3, hai Led hiển thị có jumper để gắn vào P1.0 và P1.6. Hai hàng header để kết nối hai hàng chân của chip ra ngoài, một hàng header nguồn GND-GND-VCC để lấy nguồn 3V3 trên LaunchPad.
1.2 Đổ code từ máy tính xuống chip MSP430 trên LaunchPad
- Giữ các jumper RST, TEST, VCC ở vị trí ban đầu trên LaunchPad.
- Dùng cáp USBA-USBmini để nối LaunchPad với máy tính. Trong lần lần đầu gắn kit vào máy tính, đợi khoảng 30s để máy tự cài driver. Nếu máy không tự cài driver được, download driver tại đây để update.
- Khởi động CCS, tạo một project và Build một đoạn code đơn giản, ví dụ:
Code:
//Blink a led connected with P1.0
#include <msp430g2553.h> // or <msp430.h>
void main(void)
{
// unsigned int i; // declare variables
WDTCTL = WDTPW + WDTHOLD; // Stop watch dog timer
P1DIR |= BIT0;            // Set P1.0 to output direction
while(1)
{
P1OUT ^= BIT0;          // Toggle P1.0 using exclusive-OR
__delay_cycles(1000000); // Delay 1000000 Machine Cycles (MC=1us)
                // in IAR: _delay_cycles(1000000);
}
}
- Chọn Debug để đổ code xuống chip MSP430G2553, nhấn Resume trong toolbar Debug để chạy code.

- Đảm bảo jumper nối với Led ở P1.0 vẫn gắn, bạn sẽ thấy Led đỏ tại đó liên tục chớp tắt với chu kì khoảng 2s.
2 Bước 2: Gắn MSP430 lên mạch Main
Để thử hoạt động mạch Main-MSP430, chúng ta cần gắn chip MSP430 lên mạch Main. Chip MSP430 có thể mua từ bên ngoài hoặc tận dụng luôn chip MSP430G2553 gắn sẵn trên LaunchPad.
Việc tháo lắp chip MSP430 phải hết sức nhẹ nhàng. Nên dùng một vật đầu nhọn như tua-vit hay nhíp cho dễ thao tác. Tuyệt đối tránh xảy ra trường hợp chip bị cong, gãy chân, sẽ rất khó khắc phục.
Thông thường, nếu như thường xuyên tháo lắp chip, ta nên gắn thêm một đế IC nữa trên chip để làm “chân phụ”.

Khi gắn chip lên board Main-MSP430 phải đảm bảo chip không bị ngược đầu, chân số 1 của chip tương ứng với pad vuông của footprint trên lớp Bottom.
3 Bước 3: Cấp nguồn cho mạch Main
Việc cấp nguồn cho mạch main có thể tiến hành bằng 3 cách:
3.1 Cấp nguồn ngoài vào mạch Main
- Nguồn ngoài được cấp qua Domino J1 trong khối nguồn của mạch. Nguồn vào có thể là AC hay DC, dải điện áp từ 8V đến 30V. Với phương án này, tổng dòng tiêu thụ của mạch giới hạn ở khoảng 1A (giới hạn của 7805). Cụ thể, chúng ta có thể lựa chọn biến áp 220V/12-24V; các cục sạc (adapter) AC, DC 9V, 12V, 19V, …; Ac-quy 12-24V; Pin 9V, …
- Ngoài ra, nếu có nguồn DC 5V, 3V3 bên ngoài thì có thể cắm vào header nguồn J2 (5V) hay J14 (3V3) để sử dụng. Khi làm cách làm này cần phải chắc chắn, đảm bảo điện áp cấp là gần 5V hay 3V3.
- Sau khi cấp nguồn, Led D1, D2 sẽ sáng. Ta gạt công tắc để Led D4 sáng, cấp nguồn cho MSP430.
3.2 Tận dụng nguồn 3V3 trên LaunchPad
- Nguồn 3V3 LaunchPad được cấp qua header J11, với dòng tối đa khoảng 250mA.
- Nguồn trên Launch Pad có thể lấy từ nhiều điểm, được đánh dấu là VCCGND (chú ý trạng thái của jumper VCC khi lấy nguồn). Thông thường, ta giữ jumper VCC và lấy nguồn tự cụm header GND-GND-VCC phía dưới kit.
- Sau khi cấp nguồn vào J11, Led D3 sẽ sáng. Ta gạt công tắc để Led D4 sáng, cấp nguồn cho MSP430.
- Chú ý là khi mạch chỉ được cấp nguồn 3V3, các module dùng nguồn 5V (LCD, Buzzer, ..) sẽ không hoạt động.
3.3 Tận dụng cọc nguồn 5V trên LaunchPad
- LaunchPad có thiết kế lỗ TP1 (5V), TP3 (GND) để người dùng lấy nguồn USB-5V từ máy tính khi cần thiết. Chúng ta có thể hàn thêm header để lấy nguồn tại đây (chỉ cần hàn header vào TP1 là đủ, GND có thể lấy từ nhiều vị trí khác TP3).

- Nguồn USB-5V có dòng tối đa khoảng 500mA, đủ cho việc chạy LCD trên mạch Main. Tuy nhiên, khi sử dụng nguồn này cần phải cẩn thận, tránh để chập nguồn, ảnh hưởng đến hoạt động của máy tính. Đặc biệt chú ý phần vỏ ngoài của đầu cắm USBmini được bắt dính với GND, không để cho header ở TP1 dính vào đây.
- Chúng ta cấp nguồn 5V-USB này vào mạch Main ở header nguồn J2 (5V). Sau khi cấp nguồn, Led D1, D2 sẽ sáng. Ta gạt công tắc để Led D4 sáng, cấp nguồn cho MSP430.
4 Bước 4: Thực hiện kết nối giữa Kit LaunchPad và mạch Main
Port nạp J16 của MSP430 trên mạch Main gồm 3 chân: RST, TEST, GND. Ta chỉ cần dùng bus 1 nối 3 chân này với 3 chân tương ứng trên LaunchPad, sau khi đã rút jumper tại RSTTEST.

Chú ý thêm là nếu như mạch Main được cấp nguồn (3V3, 5V) từ LaunchPad thì có thể không cần nối thêm đường GND làm điểm tham khảo điện áp. Chuẩn nạp chỉ cần 2 dây RST, TEST để giao tiếp (chuẩn nạp 2 dây).
5 Bước 5: Đổ code từ máy tính xuống mạch Main
- Sau khi hoàn tất phần kết nối, chúng ta tiến hành đổ code từ máy tính giống như hướng dẫn tại mục 1.2.
- Để kiểm tra hoạt động của code, ta dùng bus 1 nối chân P1.0 của “PORT 1” J9 với một chân bất kì của “PORT LED” J17. Led tương ứng sẽ liên tục chớp tắt với chu kì khoảng 2s.

Như vậy, bạn đã hoàn thành các bước cần thiết để có thể đổ code trên máy tính xuống mạch Main-MSP430. Từ đây, bạn có thể tự lập trình để kiểm tra hoạt động của các module khác trong mạch: Nút nhấn, LCD, Biến trở, UART, I2C, SPI, … Chúc các bạn thành công!


Mirror link: << GDrive >>
Tham khảo thêm: http://www.43oh.com/2011/11/tutorial-to-use-your-launchpad-as-a-programmer/
 

kieutriet

Thành Viên PIF
Anh chị cho em hỏi nếu lỡ dùng con LED 7 đoạn catot chung thì có cách nào để test ko ạ?:3cool_adore:
 

Manhdd

Cố Vấn CLB
Staff member
Anh chị cho em hỏi nếu lỡ dùng con LED 7 đoạn catot chung thì có cách nào để test ko ạ?:3cool_adore:
Lỡ rồi thì bạn sửa chân số 8 (chân chung của các Led): không nối lên 3V3 như nguyên lý nữa, mà cắt ra, nối 1 cọng dây xuống GND. Khi đó, muốn led sáng thì bạn kích mức 1, thay vì kích mức 0 như led 7 đoạn anot chung. Bạn không nhất thiết phải test led bằng code, có thể dùng bus 1 nối từ Port Led sang Port nguồn 3V3 để test.
Bạn xem sơ đồ Led 7 đoạn trong slide Lesson1 của C8 sẽ rõ hơn.
 
Tình hình là em có 1 cục sạc điện thoại. Input : 100 - 240 AC, Output : DC 5V. k bik e dùng cái này cấp nguồn cho mạch dc k nhỉ :D
 

taina92

Trứng gà
Cho em hỏi tý Port nạp J16 của MSP430 trên main là cái như thế nào thế mn?
Thanks mn nhiều ạ
 

Manhdd

Cố Vấn CLB
Staff member
Cho em hỏi tý Port nạp J16 của MSP430 trên main là cái như thế nào thế mn?
Thanks mn nhiều ạ
J16 là Port nạp của Chip MSP430, theo kí hiệu trong Schematic đề thi tuyển sinh khóa C8-C9:
Code:
https://docs.google.com/file/d/0B_h_-MVRltJ3T3BQaGFOWGdSVWs
 
https://docs.google.com/file/d/0B015N-Kq7CvOeFZwOU9Ud0RydFk
Port này bạn có thể tự thiết kế khi làm mạch. Chỉ cần nối 3 header đến 3 chân của chip: GND-TEST-RST :)
 

taina92

Trứng gà
Cho em hỏi tý Port nạp J16 của MSP430 trên main là cái như thế nào thế mn?
Thanks mn nhiều ạ
J16 là Port nạp của Chip MSP430, theo kí hiệu trong Schematic đề thi tuyển sinh khóa C8-C9:
Code:
https://docs.google.com/file/d/0B_h_-MVRltJ3T3BQaGFOWGdSVWs
 
https://docs.google.com/file/d/0B015N-Kq7CvOeFZwOU9Ud0RydFk
Port này bạn có thể tự thiết kế khi làm mạch. Chỉ cần nối 3 header đến 3 chân của chip: GND-TEST-RST :)
Anh ơi, em đã đổ code thành công :D như vậy thì giờ ta có thể rút 2 chân TEST - RST ra từ Kit và board main phải không ạ (Như hình vẽ ở bước 4 ).
Em lắp chip trên board trắng, đổ code xong rồi, nhưng khi em rút 2 chân ấy ra thì nó lại không hoạt động :(
 
Top