Khi cắm JLink vào máy tính mà nhận thông báo lỗi "USB Device Is Not Recognized" thì có khả năng Jlink bị mất firmware. Để nạp lại firmware cho Jlink V8 đầu tiên là download Atmel SAM-BA In-system Programmer Sau đó, mở hộp Jlink ra và thực hiện trình tự:
Nối tắt ERASE jumper
Kết nối Jlink vào máy tính bằng cáp USB
Đợi khoảng 120 giây
Ngắt kết nối Jlink ra khỏi máy tính
Để hở ERASE jumper
Nối tắt: TST jumper
Kết nối Jlink vào máy tính bằng cáp USB
Đợi khoảng 120 giây
Ngắt kết nối Jlink ra khỏi máy tính
Để hở TST jumper
Kết nối Jlink vào máy tính bằng cáp USB
Máy tính yêu cầu cài đặt driver, trỏ đến thư mục cần lấy driver sau khi đã cài Samba ISP, thường đặt ở: C:\Program Files (x86)\Atmel\sam-ba_2.13\drv
Mở SAM-BA ISP, chọn cổng COM ảo vừa cài đặt xong, lựa chọn: at91sam7s64-ek
Chọn file bin đển send: https://www.dropbox.com/s/rpwzqyjt7g9jqfn/v8_V4.76f.bin?dl=0
Sử dụng mTouch key slide - Touch sensing của Microchip
Sơ lược một chút về công nghệ Touch Sensing này để các bạn có thể định hướng cho mình cách làm.
Hiện Microchip sử dụng công nghệ Touch điện dung(Capacitive) và chia ra làm 2 loại cơ bản là Capacitive Touch và Cap Over Metal. Đối với mỗi loại sẽ có ưu và khuyết điểm riêng:
Capacitive Touch: Giải pháp này khá phổ biến và rẻ tiền, nguyên lý hoạt động như sau: Pad đồng như một nửa của tụ điện, lớp PCB như một điện môi của tụ, và tay người khi chạm vào pad đồng sẽ tạo một tụ khác nữa với các thành phần tiếp xúc là điện môi. Rõ ràng khi tay người chạm vào thì điện dung của tụ (tạo ra từ Pad đồng, tay người và điện môi tiếp xúc) tăng lên, ngừoi ta đó điện dung này để phát hiện việc có chạm hay không. Có nhiều phương pháp để do điện dung, chủ yếu dựa vào sự nạp xả của tụ, thường dùng các mạch dao động. Microchip hiện có đến 4 giải để làm chuyện này. Sử dụng Comparator (Opamp trong chip), sử dụng ADC, sử dụng CSM (Captouch Sensing Module) và CTMU (Charge Time Measurent Unint). Sẽ bàn luận sau. Link tham khảo: CapTouchP2_021908.pdf
Application Note 2, dùng mạch có 2 Comparator và 1 SR Latch để làm mạch dao động Relaxation Oscillator, do 2 Comparator này có 4 kênh ngõ vào Cin- nên có thể quét đến 4 nút mTouch AN1101
Dùng CSM (Capacitive Sension Module): Đây là một module riêng dành để làm Touch của Microchip, có mặt ở hầu hết các dòng Chip mới ra sau này (PIC16F1xxx, PIC18F1xKxx...), nó cũng tương tự như dùng Comparator, tuy nhiên, toàn bộ mạch dao động được đóng gói trong 1 module riêng gọi là CSM. Module này tùy vào loại PIC mà nó có từ 8-16 kênh. Projects mẫu: [URL]http://www.picvietnam.com/forum/showthread.php?t=4633[/URL] _CSM Module[/I] (Đối với 2 phương thức này trên website của MCHP đã bỏ đi, nên khuyến cáo các bạn sử dụng mTouch thì sử dụng 2 cách dưới đây)
Dùng CVD(Capacitive Voltage Divider) , đây là cách rất hay, dễ dùng nhất, bất kỳ PIC nào có ADC là có thể làm được, mỗi kênh ADC có thể làm 1 nút, số nút bằng số kênh - 1, tuy nhiên thực tế mình chỉ làm 1 ứng dụng, và chưa có thời gian kiểm định sự ổn định. Nguyên lý của phương pháp này dựa cũng vào sự nạp xả của Tụ, nhưng không biến nó thành dao động, mà do luôn điện áp khí tụ xả ra, giá trị xả càng nhiều thì tụ bên ngoài (PAD đồng) càng lớn.
Dùng CTMU (Charge Time Measurement Unit): Sơ đồ khối và nguyên lý hoạt động của Module này:
Module CTMU có một nguồn dòng có thể điều khiển được dòng nạp xả cho tụ sample của ADC (Cad). Khi không có tay người chạm vào Pad đồng thì nguồn này nạp cho tụ Cad ổng định, và xả khi đã chuyển đổi AD xong. Khi có tay người tiến gần tới Pad đồng, sẽ xuất hiện thêm tụ Cf, tụ này sẽ nạp điện như 1 tụ song song với Cad, nguồn dòng không thay đổi khi có và không có tay người, tuy nhiên giá trị tụ lại thay đổi, dẫn đến áp sẽ sụt giảm, điều này đo được bằng AD.
Với phương pháp này, bất kì PIC nào có CTMU thì có thể dùng số kênh ADC của nó làm Touch, phương pháp này hiện nay có tốc độ quét nhanh nhất và ổng định nhất, tuy nhiên chỉ xuất hiện ở một số dòng PIC mới.
Tham khảo: AN1250
Đối với Metal Over Cap phần cứng khá phức tạp, việt gia công ở VN tương đối khó khăn, các bạn có thể tìm hiểu thêm ở Website của Microchip
Sử dụng mTouch key slide - Touch sensing của Microchip
Sơ lược một chút về công nghệ Touch Sensing này để các bạn có thể định hướng cho mình cách làm.
Hiện Microchip sử dụng công nghệ Touch điện dung(Capacitive) và chia ra làm 2 loại cơ bản là Capacitive Touch và Cap Over Metal. Đối với mỗi loại sẽ có ưu và khuyết điểm riêng:
Mạch dao động chỉ dùng 1 Comparator (trong chip) 1 diode và 1 điện trở. Tuy nhiên, phải chú ý khi sử dụng mạch này, Comparator bên trong Chip phải có ngõ ra là ngõ vào của Timer0 (một số loại có Comparator nhưng ngõ ra ko nối với ngõ vào đếm của Timer0, như PIC12F683).
Application Note 2, dùng mạch có 2 Comparator và 1 SR Latch để làm mạch dao động Relaxation Oscillator, do 2 Comparator này có 4 kênh ngõ vào Cin- nên có thể quét đến 4 nút mTouch AN1101
Dùng CSM (Capacitive Sension Module): Đây là một module riêng dành để làm Touch của Microchip, có mặt ở hầu hết các dòng Chip mới ra sau này (PIC16F1xxx, PIC18F1xKxx...), nó cũng tương tự như dùng Comparator, tuy nhiên, toàn bộ mạch dao động được đóng gói trong 1 module riêng gọi là CSM. Module này tùy vào loại PIC mà nó có từ 8-16 kênh. Projects mẫu: [URL]http://www.picvietnam.com/forum/showthread.php?t=4633[/URL] [I]CSM Module[/I] (Đối với 2 phương thức này trên website của MCHP đã bỏ đi, nên khuyến cáo các bạn sử dụng mTouch thì sử dụng 2 cách dưới đây)
Dùng CVD(Capacitive Voltage Divider) , đây là cách rất hay, dễ dùng nhất, bất kỳ PIC nào có ADC là có thể làm được, mỗi kênh ADC có thể làm 1 nút, số nút bằng số kênh - 1, tuy nhiên thực tế mình chỉ làm 1 ứng dụng, và chưa có thời gian kiểm định sự ổn định. Nguyên lý của phương pháp này dựa cũng vào sự nạp xả của Tụ, nhưng không biến nó thành dao động, mà do luôn điện áp khí tụ xả ra, giá trị xả càng nhiều thì tụ bên ngoài (PAD đồng) càng lớn.
Dùng CTMU (Charge Time Measurement Unit): Sơ đồ khối và nguyên lý hoạt động của Module này:
Module CTMU có một nguồn dòng có thể điều khiển được dòng nạp xả cho tụ sample của ADC (Cad). Khi không có tay người chạm vào Pad đồng thì nguồn này nạp cho tụ Cad ổng định, và xả khi đã chuyển đổi AD xong. Khi có tay người tiến gần tới Pad đồng, sẽ xuất hiện thêm tụ Cf, tụ này sẽ nạp điện như 1 tụ song song với Cad, nguồn dòng không thay đổi khi có và không có tay người, tuy nhiên giá trị tụ lại thay đổi, dẫn đến áp sẽ sụt giảm, điều này đo được bằng AD.
Với phương pháp này, bất kì PIC nào có CTMU thì có thể dùng số kênh ADC của nó làm Touch, phương pháp này hiện nay có tốc độ quét nhanh nhất và ổng định nhất, tuy nhiên chỉ xuất hiện ở một số dòng PIC mới.
Tham khảo: AN1250
Đối với Metal Over Cap phần cứng khá phức tạp, việt gia công ở VN tương đối khó khăn, các bạn có thể tìm hiểu thêm ở Website của Microchip
Trong bản build sẵn Ångström cho BBB có cài đặt sẵn USB Gadget Client bao gồm các interface Virtual Serial Ports, Linux-USB File Storage Gadget, USB/Ethernet bridge. Khi cắm BBB vào máy tính thì sẽ nhận ổ USB Storage có chứa đầy đủ Driver trong đó. Chạy file cài đặt driver thì máy tính sẽ nhận cổng COM ảo và cổng Ethernet ảo. Lưu ý, khi cài đặt driver trên máy tính chạy Windows 8 báo lỗi không cài được thì làm theo hướng dẫn sau: Disable Driver Signature Verification Vào Devices Manager để xem tên của cổng COM ảo vừa được cài đặt. Mở Putty để Terminal vào BBB, baud bao nhiêu cũng được (vì là COM ảo nên baud này chỉ ảnh hưởng đến tốc độ khi truy cập thông qua 1 cổng serial thật sự)
Riêng cổng Ethernet của máy tính thì được cấu hình IP là 192.168.7.1, còn của BBB là 192.168.7.2, máy tính có thể SSH đến BBB qua địa chỉ IP 192.168.7.2, nhưng không thể chia sẻ kết nối Internet.
Do đó, trước tiên phải cấu hình share internet của máy tính cho BBB, giả sử máy tính có kết nối Internet là Wi-Fi, kết nối đến BBB là Ethernet Vào: Control Panel\Network and Internet\Network Connections -> Wi-Fi -> Properties:
Windows sẽ tự động cấu hình cổng Ethernet kết nối với BBB địa chỉ IP là 192.168.137.1 và netmask là 255.255.255.0 Do vậy, cần phải cấu hình lại IP cho BBB là 192.168.137.2, netmask là 255.255.255.0 và gateway là 192.168.137.1, dns là 8.8.8.8 Ở cửa sổ terminal edit cấu hình IP cho BBB lúc khởi động như sau:
Reboot lại BBB là có thể kết nối Internet. Nếu trường hợp không thể kết nối được Internet thì xem lại file /etc/resolve.conf đảm bảo Nameserver là 8.8.8.8
Bây giờ BBB có thể kết nối Internet và máy tính có thể SSH đến BBB qua địa chỉ: 192.168.137.2
Đọc nhiều cảm biến nhiệt độ one-wire với Beaglebone Black
Trong bản build sẵn Ångström của BBB có sẵn driver OneWire (W1), sử dụng GPIO nào cần phải khai báo Device Tree. Cảm biến nhiệt One-Wire dùng trong bài này là DS18B20, cảm biến hỗ trợ kết nối nhiều device song song trên bus 1 dây. Hình kết nối với BBB như sau:
Để sử dụng SPI của BeagleBone Black cần phải cấu hình Device Tree. Cần lưu ý: BeagleBone Black có 2 SPI là SPI0 và SPI1. SPI1 sử dụng cho interface HDMI, do đó nếu muốn dùng SPI1 thì phải disable HDMI trước.