Hội nghị toàn quốc lần thứ 7 về Cơ Điện tử - VCM-2014<br />
<br />
<br />
Thiết kế công cụ đọc thông tin truyền thông trên mạng CAN<br />
<br />
Design of CAN Bus Data Reader<br />
<br />
Võ Duy Thành, Lê Tiến Sự, Nguyễn Hà Thành Long, Tạ Cao Minh<br />
Trường Đại học Bách Khoa Hà Nội<br />
Email: thanh.voduy@hust.edu.vn, su.letien91@gmail.com,<br />
thanhlonghl91@gmail.com, minh.tacao@hust.edu.vn<br />
<br />
Tóm tắt chuẩn ISO 11898. Hiện nay, hầu như tất cả các xe ô tô<br />
Giao thức truyền thông CAN (Controller Area đều sử dụng chuẩn CAN để truyền thông giữa các bộ<br />
Network) ban đầu được sử dụng để truyền thông tin điều khiển. Có thể tổng hợp một số ưu điểm khi một<br />
giữa các ECU của ô tô. Tuy nhiên, do những ưu điểm hệ thống sử dụng CAN như sau [2],[3]:<br />
của nó nên ngày nay, mạng CAN được sử dụng rất Gọn nhẹ và kinh tế hơn so với các chuẩn thông<br />
rộng rãi trong các ngành khác như robot, CNC, biến dụng. CAN là chuẩn truyền 2 dây, không đòi hỏi<br />
tần, lọc tích cực…. Bài báo đề xuất giải pháp thiết kế phải có xung đồng bộ để truyền nhận thông tin.<br />
công cụ thu thập thông tin các bản tin truyền thông Phù hợp với các ứng dụng yêu cầu thời gian thực.<br />
theo chuẩn CAN và ứng dụng trong việc thu thập các Mạng CAN có thệ thống phân xử dựa trên ID của<br />
thông tin truyền thông trên xe ô tô điện nhằm mục bản tin giúp cho việc truyền nhận tức thời của các<br />
đích giải mã các bản tin. Công cụ được xây dựng trên bản tin có mức ưu tiên cao.<br />
nền tảng Vi điều khiển dsPIC30F401 của hãng Tăng mức độ an toàn của hệ thống. Việc một<br />
Microchip kết hợp với việc lập trình thiết kế giao diện module trong mạng CAN bị lỗi không gây ra ảnh<br />
trên máy tính phục vụ cho việc lưu trữ và phân tích hưởng tới các module còn lại, trừ khi hai module<br />
thông tin thu thập. Thông tin truyền thông giữa có liên hệ trực tiếp đến nhau và không thể hoạt<br />
dsPIC30F4011và máy tính sử dụng kết nối USB thông động nếu thiếu một module còn lại. Đồng thời,<br />
qua vi điều khiển trung gian PIC18F2550. Bộ công cụ việc thêm/bớt module trong hệ thống có thể được<br />
được ứng dụng trên xe ô tô điện i-MiEV, đã có thể thực hiện ngay khi hệ thống đang làm việc mà<br />
đọc đầy đủ, chính xác và lưu trữ các thông tin truyền không gặp vấn đề gì cho hệ thống điện.<br />
thông trên mạng CAN của xe ô tô.<br />
<br />
Abstract: CAN bus (Controller Area Network) is<br />
initially designed for automotive applications, but it<br />
has been now widely used in other industries e.g.<br />
robotics, CNC, inverters, power active filters…. In<br />
this paper, we propose a design of a device that helps<br />
collecting information transferred on CAN bus<br />
especially in electric vehicle for decoding CAN data. H.1 Xe ô tô điện i-MiEV<br />
The device uses a Digital Signal Controller Sự phát triển của đất nước yêu cầu phải có nền công<br />
dsPIC30F4011 of Microchip as the main nghiệp ô tô vững mạnh. Chủ trương nội địa hóa từng<br />
communication controller. A computer software is phần sản phẩm nhập khẩu đồng nghĩa với việc thay<br />
also built for saving and investigating collected data. thế dần các thành phần trong sản phẩm nhập khẩu<br />
The dsPIC30F4011 communicates with computer bằng các đối tượng sản xuất trong nước. Đối với ô tô,<br />
through USB connection that uses another muốn thay thế được các đối tượng trong một sản phẩm<br />
Microchip’s microcontroller PIC18F2550 as a USB thương mại đòi hỏi người nghiên cứu phải “hiểu” các<br />
controller. The performance of the device is thông tin truyền thông trong mạng CAN trên xe. Điều<br />
explainedby sucessfully recording and storing all này làm nảy sinh yêu cầu về một công cụ giúp đọc và<br />
CAN data on electric vehicle i-MiEV. thu thập thông tin truyền thông trên xe ô tô, từ đó có<br />
thể giải mã được các thông tin này. Trên thực tế, đã có<br />
1. Mở đầu một số nơi sản xuất được các sản phẩm tương tự như<br />
CAN là một giao thức truyền thông nối tiếp được phát các module rời hoặc PCI Card của hãng National<br />
triển lần đầu tiên bởi Công ty Robert Bosch vào năm Instruments [1]. Tuy nhiên, giá thành của các sản<br />
1983 và được công nhận chính thức vào năm 1986 bởi phẩm này thường rất cao và tích hợp nhiều tính năng<br />
Hội các Kỹ sư Ô tô (SAE). Năm 1991, Bosch ban không sử dụng tới trong trường hợp chỉ với mục đích<br />
hành phiên bản CAN 2.0 và sau đó 2 năm trở thành đọc thông tin để giải mã.<br />
<br />
<br />
VCM-2014<br />
Hội nghị toàn quốc lần thứ 7 về Cơ Điện tử - VCM-2014<br />
<br />
<br />
Với mục đích cung cấp cho người nghiên cứu một<br />
công cụ có thể đọc thông tin mạng CAN để phục vụ<br />
công việc giải mã các thông tin truyền thông trong ô<br />
tô và xa hơn là thay thế các ECU hoặc bộ điều khiển<br />
trên xe ô tô thương phẩm, bài báo trình bày thiết kế<br />
công cụ thu thập thông tin trên mạng truyền thông<br />
CAN với giá thành thấp và sử dụng các linh kiện sẵn<br />
có trên thị trường Việt Nam. Công cụ này sẽ được ứng<br />
dụng để thu thập thông tin trên xe ô tô điện i-MiEV<br />
như trong H.1. Đây là xe ô tô thuần túy chạy bằng<br />
năng lượng điện của hãng xe Nhật Bản Mitsubishi.<br />
Trong bài báo này, các tác giả trình bày bản thiết kế<br />
một bộ công cụ gồm cả phần cứng và phần mềm trên<br />
máy tính có nhiệm vụ thu thập toàn bộ các bản tin<br />
truyền thông trên mạng CAN trong ô tô bao gồm mã<br />
định danh ID của bản tin, nội dung bản tin, thời điểm<br />
xuất hiện bản tin. Các thông tin này sau đó được gửi<br />
về máy tính để phân tích và lưu trữ. Phần cứng của bộ<br />
công cụ được xây dựng trên nền tảng Vi điều khiển<br />
dsPIC30F4011 và PIC 18F2550 của hãng Microchip;<br />
phần mềm trên máy tính được viết bằng ngôn ngữ<br />
CVI do National Instruments phát triển. Phần còn lại H.2 Mô hình hệ thống thu thập thông tin mạng CAN<br />
của bài báo được tổ chức như sau. Phần 2 trình bày Như vậy, bất cứ khi nào trên mạng CAN của ô tô có<br />
cấu hình thiết kế của hệ thống. Phần 3 là một số thông xuất hiện bản tin từ bất kỳ thành phần nào phát ra,<br />
tin cơ bản và quan trọng về chuẩn truyền thông công cụ này đều phải thu nhận được và gửi lên máy<br />
CAN.Thiết kế phần cứng và lập trình cho các Vi điều tính để phân tích và lưu trữ.<br />
khiển được trình bày trong phần 4. Phần 5 đưa ra thiết<br />
kế phần mềm hiển thị và lưu trữ dữ liệu trên máy tính. 3. Truyền thông CAN<br />
Các kết quả của nghiên cứu được thể hiện trong phần Đặc trưng của CAN là phương pháp định địa chỉ và<br />
6. Cuối cùng, kết luận bài báo được trình bày trong giao tiếp hướng đối tượng, trong khi hầu hết các hệ<br />
phần 7. thống truyền thông khác đều giao tiếp dựa vào địa chỉ<br />
các trạm. Mỗi thông tin trao đổi trong mạng được coi<br />
2. Cấu hình hệ thống như một đối tượng và được gán một mã ID. Thông tin<br />
Cấu hình của hệ thống đọc dữ liệu bản tin CAN được được gửi lên bus kiểu truyền thông báo với các độ dài<br />
trình bày trong H.2. Trong đó, toàn bộ hệ thống có thể khác nhau. Nội dung mỗi thông báo được các trạm<br />
chia làm 2 phần. Phần cứng gồm mạch vi điều khiển phân biệt qua ID được cấp. Mã ID không nói lên địa<br />
và phần mềm quản lý trên máy tính. chỉ đích của thông báo mà chỉ biểu diễn ý nghĩa của<br />
Phần cứng của hệ thống với các thành phần chính dữ liệu thông báo. Vì thế, mỗi trạm trên mạng có thể<br />
gồm: Vi điều khiển dsPIC30F4011 và chíp MCP2551 tự quyết định tiếp nhận và xử lý thông báo hay không<br />
được sử dụng để thực hiện giao tiếp CAN với đối tiếp nhận thông báo qua phương thức lọc thông báo,<br />
tượng. Trong đó, dsPIC30F4011 đóng vai trò như một nhờ vậy nhiều trạm có thể nhận đồng thời nhiều thông<br />
bộ điều khiển CAN, MCP2551 hoạt động như một bộ báo và có các phản ứng khác nhau.<br />
thu nhận tín hiệu và đảm bảo mức điện áp hoạt động<br />
của tín hiệu. Việc giao tiếp với máy tính được thực MCU<br />
hiện thông qua giao tiếp USB. Tuy nhiên, do<br />
dsPIC30F4011 không hỗ trợ chuẩn USB nên vi điều CAN Controller<br />
khiển PIC18F2550 được sử dụng để làm bộ điều khiển<br />
giao tiếp USB giữa mạch phần cứng với máy tính.<br />
Việc truyền nhận dữ liệu giữa dsPIC30F4011 với<br />
Node Transceiver Node<br />
PIC18F2550 được thực hiện thông qua chuẩn truyền<br />
thông phổ biến là SPI.<br />
Phần mềm trên máy tính được xây dựng trên nền tảng<br />
ngôn ngữ lập trình CVI (C for Virtual Instruments) do 120Ω 120Ω<br />
National Instruments phát triển. Driver USB cho mạch<br />
phần cứng khi kết nối với máy tính cũng sẽ được CVI H.3 Ghép nối trong mạng CAN<br />
hỗ trợ thực hiện.<br />
<br />
<br />
VCM-2014<br />
Hội nghị toàn quốc lần thứ 7 về Cơ Điện tử - VCM-2014<br />
<br />
<br />
<br />
<br />
H.4 Cấu trúc bản tin CAN<br />
Mạng CAN sử dụng 2 dây để truyền dữ liệu gồm phân cách. Dãy bit đầu vào để tính bao gồm bit<br />
CAN-H (hoặc CAN-HI) và CAN-L (hoặc CAN-LO). khởi đầu khung, các bit phân xử, vùng điều khiển<br />
Ở đầu và cuối hệ thống mạng, các điện trở được nối để và vùng dữ liệu.<br />
tránh hiện tượng phản xạ tín hiệu trên đường truyền. Vùng xác nhậc ACK (Acknowlegment) gồm 2 bit<br />
Trong xe ô tô, các ECU được nối chung vào hệ thống để các thành phần trên mạng CAN thực hiện kiểm<br />
mạng CAN, mỗi một ECU phải bao gồm một bộ thu tra mã CRC.<br />
nhận tín hiệu và một bộ điều khiển CAN như trong Kết thúc khung được đánh dấu bằng 7 bit lặn.<br />
H.3 thể hiện. Muốn trao đổi thành công dữ liệu trên<br />
mạng CAN, các phần tử kết nối với mạng cần phải<br />
được cài đặt tốc độ giống nhau. Tốc độ cao nhất mà<br />
mạng CAN đạt được là 1Mbit/s, tuy nhiên, để đảm<br />
bảo độ ổn định, trong xe ô tô nói chung thường sử<br />
dụng tốc độ 500kbit/s.<br />
Bản tin CAN có thể có 2 dạng (còn gọi là 2 dạng<br />
khung bản tin) gồm: dạng khung chuẩn với 11 bit<br />
dành cho ID và dạng khung mở rộng với 29 bit ID<br />
(gồm 11 bit của khung chuẩn và thêm 18 bit mở rộng).<br />
Các thành phần còn lại của 2 dạng khung là giống H.5 Vùng ID được sử dụng để xác định mức ưu tiên<br />
nhau. Về cơ bản, cấu trúc của một bản tin CAN như Trong quá trình hoạt động, nếu 2 thành phần cùng gửi<br />
thể hiện trong H.4 gồm các thành phần sau: bản tin lên mạng CAN tại cùng một thời điểm, bản tin<br />
Khởi đầu khung là một bit trội và đánh dấu khởi nào có ID thấp hơn, bản tin đó có mức ưu tiên cao hơn<br />
đầu của một bản tin. Tất cả các thành phần kết nối và được quyền sử dụng mạng để gửi đi yêu cầu hoặc<br />
với mạng CAN sẽ phải đồng bộ hóa dựa vào bit dữ liệu. Ví dụ như trong H.5, có 2 thiết bị cùng sử<br />
khởi đầu này. dụng mạng CAN tại cùng một thời điểm. Tuy nhiên,<br />
Các bit ID của bản tin, còn được gọi là các bit chỉ có thiết bị 1 có ID thấp hơn được sử dụng mạng<br />
phân xử. Các bit ID ngoài việc được sử dụng để còn thiết bị 2 phải tạm dừng (tại thời điểm số 3). Đây<br />
xác định đối tượng của bản tin, nó còn được sử chính là ưu điểm của giao thức CAN so với các chuẩn<br />
dụng để xác định mức ưu tiên, quyết định quyền truyền thông khác.<br />
truy nhập bus khi có nhiều thông tin được gửi đi<br />
đồng thời. Vùng bit phân xử có chiều dài 12 bit 4. Thiết kế module thu thập dữ liệu CAN<br />
với dạng khung chuẩn và 32 bit với dạng khung 4.1. Thiết kế phần cứng<br />
mở rộng, trong đó mã ID dài 11 hoặc 29 bit. Bit Nhiệm vụ của module bao gồm:<br />
cuối cùng của ô phân xử là bit RTR (Remote Kết nối với mạng CAN thông qua chuẩn ODB2<br />
Transmission Request), dùng để phân biệt giữa (dạng chuẩn cắm dây trên ô tô)<br />
khung dữ liệu (bit trội) và khung yêu cầu dữ liệu Thu nhận toàn bộ các bản tin truyền thông trên<br />
(bit lặn). mạng CAN<br />
Vùng điều khiển dài 6 bit, trong đó 4 bit cuối mã Tách và xác định được các trường ID và Data của<br />
hóa chiều dài dữ liệu. các bản tin<br />
Vùng dữ liệu có chiều dài từ 0 đến 8 byte, trong Xác định thời gian các bản tin được truyền trên hệ<br />
đó mỗi byte được truyền đi theo thứ tự từ bit có thống (Time Stamp) để tính chu kỳ<br />
trọng số cao nhất (MSB) đến bit có trọng số thấp Truyền thông tin nhận được gồm ID, Data và<br />
nhất (LSB). Time Stamp lên máy tính thông qua chuẩn USB<br />
Vùng kiểm soát lỗi CRC bao gồm 15 bit được thông dụng.<br />
thực hiện theo phương pháp CRC và 1 bit lặn<br />
<br />
<br />
VCM-2014<br />
Hội nghị toàn quốc lần thứ 7 về Cơ Điện tử - VCM-2014<br />
<br />
<br />
<br />
<br />
H.6 Mạch nguyên lý dsPIC30F4011 và CAN Tranceiver MCP2551<br />
Để thực hiện được các nhiệm vụ trên, giải pháp đưa ra liệu) và C1TX (truyền dữ liệu). Mạch điều khiển được<br />
trên hình 5 được sử dụng. Trong đó, IC MCP2551 [4] kết nối với mạng CAN bên ngoài thông qua một cổng<br />
được sử dụng như một bộ thu phát CAN và là kết nối DB9 với các kết nối tương thích với chuẩn ODB2 trên<br />
trung gian giữa Vi điều khiển dsPIC30F4011 [5] với ô tô.Giao tiếp với máy tính được thực hiện thông qua<br />
hệ thống CAN trên ô tô. Vi điều khiển PIC18F2550 kết nối USB trực tiếp từ vi điều khiển PIC18F2550.<br />
[6] đảm nhận việc kết nối với máy tính thông qua Giữa PIC18F2550 với Vi điều khiển trung tâm được<br />
chuẩn USB và kết nối với Vi điều khiển trung tâm kết nối thông qua các chân SDI, SDO và SCK của<br />
dsPIC30F4011 thông qua giao thức SPI.H.6 mô tả kết giao thức SPI. Trong H.7, LCD được sử dụng cho mục<br />
nối giữa Vi điều khiển trung tâm dsPIC30F4011 với đích hiển thị tạm thời thông tin nhận được và gỡ rối<br />
IC giao tiếp CAN MCP2551. Bộ điều khiển CAN trong quá trình lập trình cho các Vi điều khiển.<br />
Controller được tích hợp trong dsPIC4011 và đưa ra 4.2. Thiết kế phần mềm cho các Vi điều khiển<br />
tín hiệu ra ngoài thông qua các chân C1RX (nhận dữ 4.2.1. Thuật toán điều khiển cho dsPIC30F4011<br />
<br />
<br />
<br />
<br />
H.7 Kết nối giữa PIC18F2550 thực hiện giao tiếp USB<br />
<br />
<br />
<br />
VCM-2014<br />
Hội nghị toàn quốc lần thứ 7 về Cơ Điện tử - VCM-2014<br />
<br />
<br />
<br />
<br />
H.8 Cài đặt tốc độ Baud 500kbit/s<br />
Như đã đề cập trong các yêu cầu của mạch thu thập +1<br />
= 2. (2)<br />
thông tin CAN, ngoài yêu cầu về ID và Data của bản<br />
tin, mạch còn phải cung cấp cả mốc thời gian của các Trong đó, là bộ chia tần số Baud, là<br />
bản tin để phục vụ cho việc xác định chu kỳ của các tần số xung đồng hồ cấp cho module CAN trong vi<br />
bản tin cũng như thời điểm xuất hiện của bản tin so điều khiển. Trong trường hợp này, để tạo được tốc độ<br />
với các bản tin khác. Vì vậy, một bộ định thời được sử Baud 500kbit/s thì = 100 .<br />
dụng để tạo ngắt sau mỗi khoảng thời gian 1ms. Giá<br />
trị đếm cần nạp vào thanh ghi định thời được tính theo<br />
phương trình (1).<br />
. .<br />
= (2 − 1) − (1)<br />
4.<br />
Trong đó, là tần số thạch anh sử dụng, là giá<br />
trị bộ nhân tần số, là giá trị bộ chia tần số và<br />
là khoảng thời gian cần ngắt (1ms trong trường hợp<br />
này).<br />
<br />
<br />
<br />
<br />
H.9 Lưu đồ thuật toán chương trình chính trên<br />
dsPIC30F4011<br />
Đồng thời do các bản tin trong hệ thống CAN trên ô tô<br />
được truyền nhận ở tốc độ Baud 500kbit/s, nên cần<br />
thiết phải có một số thiết lập cấu hình trong các thanh<br />
ghi liên quan tới bộ điều khiển truyền thông CAN<br />
trong dsPIC30F4011. Tốc độ truyền thông trên CAN<br />
được xác định theo số lượng tử thời gian (Time<br />
quanta). Để truyền 1 bit dữ liệu, mạng CAN sử dụng<br />
20 và phân bố thành các giai đoạn như trình bày<br />
trong H.8. Thời gian được xác định theo phươnng<br />
H.10 Lưu đồ chương trình trên PIC18F2550<br />
trình (2).<br />
<br />
<br />
<br />
VCM-2014<br />
Hội nghị toàn quốc lần thứ 7 về Cơ Điện tử - VCM-2014<br />
<br />
<br />
Với các thiết lập trên, hoạt động của chương trình điều<br />
khiển trên dsPIC30fF4011 được thiết kế như trong<br />
H.9. Trong chương trình chính, sau khi cho phép ngắt<br />
timer2 và cài đặt tốc độ baud cho việc nhận bản tin<br />
CAN thì mỗi khi nhận được một bản tin, chương trình<br />
sẽ chốt giá trị thời gian theo ms và s và sau đó tính giá<br />
trị chu kỳ nhận được của bản tin đó và chuyển các giá<br />
trị ID, độ dài bản tin (0 đến 8), nội dung bản tin, số<br />
giây (s) và số mili giây (ms), chu kì của bản tin qua<br />
giao tiếp SPI. Các thông số này được đổi sang mã<br />
ASCII. Đồng thời, một byte có giá trị là 10 sẽ được<br />
truyền tới vi điều khiển PIC18F2550 để báo hiệu bắt a) Giao diện chính<br />
đầu truyền 1 bản tin.<br />
4.2.2. Thuật toán điều khiển cho PIC18F2550<br />
PIC18F2550 đảm nhận việc trung gian chuyển dữ liệu<br />
nhận được từ dsPIC30F4011 thông qua SPI lên máy<br />
tính thông qua USB. Trong kết nối USB, mỗi thiết bị<br />
trên máy tính hoặc các thiết bị được gắn vào đều có<br />
một VID (vendor ID) và PID (Product ID) riêng<br />
không được trùng nhau để đặc trưng cho nhà sản xuất<br />
và đặc trưng riêng của từng thiết bị. Với các thiết bị<br />
do Microchip cung cấp thì có chung một VID là b) Giao diện cài đặt<br />
04D8, còn PID ở đây chọn là 0101. Lưu đồ chương H.11 Các giao diện của chương trìnhquản lý<br />
trình viết cho PIC18F2550 được trình bày trong H.10.<br />
<br />
<br />
<br />
<br />
a) Lưu đồ chương trình chính b) Lưu đồ chương trình con dịch vụ ngắt timer<br />
<br />
H.12 Lưu đồ thuật toán chương trình quản lý<br />
<br />
<br />
<br />
<br />
VCM-2014<br />
Hội nghị toàn quốc lần thứ 7 về Cơ Điện tử - VCM-2014<br />
<br />
<br />
Chương trình sử dụng một mảng buffer gồm 33 byte,<br />
theo đó, vi điều khiển sẽ nhận từng byte của dữ liệu<br />
cần truyền qua module SPI và lần lượt lưu vào mảng<br />
này. Ban đầu vi điều khiển sẽ chờ đến khi nhận được<br />
một byte IN có giá trị là 10 (IN=10) sau đó sẽ tiến<br />
hành nhận từng byte qua giao tiếp SPI lần lượt ghi vào<br />
mảng buffer. Khi nhận đủ 33 byte dữ liệu vi điều<br />
khiển sẽ gửi buffer lên máy tính qua USB. 33 byte này<br />
bao gồm mã ASCII của: ID (4 byte), độ dài bản tin<br />
CAN (1 byte), dữ liệu bản tin CAN (16 byte), số giây<br />
(4 byte), số mili giây (4 byte) và chu kì (4 byte) nhận<br />
được bản tin CAN.<br />
a) Module thu thập dữ liệu CAN<br />
5. Thiết kế phần mềm quản lý thông tin<br />
Phần mềm quản lý thực hiện nhiệm vụ thu nhận thông<br />
tin mà module đọc dữ liện bản tin CAN đã nhận được,<br />
sau đó phân tích và hiển thị theo các trường nội dung<br />
phục vụ cho nhiệm vụ giải mã bản tin. Yêu cầu đối<br />
với phần mềm này như sau:<br />
Nhận thông tin từ cổng USB trên máy tính<br />
Phân tích dữ liệu<br />
Hiển thị dữ liệu theo các mốc thời gian và tần số<br />
xuất hiện<br />
Lưu trữ dữ liệu<br />
b) Kết quả thu thập dữ liệu trên xe i-MiEV<br />
Chương trình của phần mềm quản lý được viết trên<br />
H.13 Hình ảnh và kết quả hoạt động bộ công cụ thu thập dữ<br />
nền ngôn ngữ CVI của National Instruments. CVI<br />
liệu mạng CAN<br />
cung cấp công cụ NI-VISA để tạo driver cho thiết bị trên xe và giữa module với máy tính cài phần mềm<br />
kết nối USB. Chính vì vậy, chỉ cần cung cấp các thông quản lý. Sau khi nhận driver của module và hoàn tất<br />
tin về VID và PID của thiết bị như đã trình ở phần các cài đặt, phần mềm quản lý được khởi động quá<br />
trên, driver cho module thu thập thông tin CAN có thể trình làm việc bằng việc nhấn nút Start trên giao diện.<br />
được tạo ra tương đối đơn giản. Sau quá trình khởi động, toàn bộ các bản tin CAN trên<br />
Để nhận dữ liệu từ vi điều khiển giao diện sử dụng ô tô như ID, dữ liệu… đều được lưu lại và hiển thị<br />
một timer cứ 1ms lại ngắt một lần. Khi thực hiện trên màn hình giao diện của phần mềm như thể hiện<br />
chương trình ngắt sẽ tiến hành đọc buffer dữ liệu nhận trên hình H.13b. Các thời điểm xuất hiện bản tin cũng<br />
được sau đó tách dữ liệu và hiển thị ra từng cột tương được ghi lại đầy đủ và chi tiết. Kết quả này cũng đã<br />
ứng và ghi file nếu cần. Chương trình cho phép lọc và được so sánh với kết quả thu được khi sử dụng bộ<br />
hiển thị các bản tin có ID nào đó mà người dùng quan công cụ thương mại của National Instruments. Các kết<br />
tâm thông qua một biến filt. Nếu giá trị của biến filt quả thu thập được bởi 2 bộ công cụ là hoàn toàn giống<br />
bằng 1 thì sẽ tiến hành tính toán các ID nhận được và nhau.<br />
so sánh với ID cần lọc để hiển thị chúng trên bảng.<br />
Nếu biến filt bằng 0 thì sẽ hiển thị tất cả các ID nhận<br />
được. Sau khi hiển thị, chương trình sẽ kiểm tra giá trị<br />
7. Kết luận<br />
Bài báo đã trình bày thiết kế một công cụ để đọc nội<br />
của biến file để lưu các thông tin thu thập được với tên<br />
dung các bản tin truyền thông trên mạng CAN trong ô<br />
file được nhập ở giao diện setting. Để tiện theo dõi,<br />
tô bao gồm cả phần cứng sử dụng Vi điều khiển<br />
chương trình sẽ hiển thị các thông tin của từng ID trên<br />
cùng một hàng. Giao diện của chương trình được trình dsPIC30F4011 kết hợp với PIC18F2550 và phần mềm<br />
viết trên nền ngôn ngữ lập trình CVI. Các kết quả cho<br />
bày trong H.11 và lưu đồ thuật toán chương trình<br />
thấy hệ thống hoạt động tốt, đáp ứng được các yêu cầu<br />
chính của phần mềm được thể hiện trên H.12.<br />
đề ra, đã có thể thu thập được nội dung các bản tin<br />
trên mạng CAN của xe ô tô điện i-MiEV. Kết quả của<br />
6. Kết quả nghiên cứu này có thể được sử dụng cho mục đích giải<br />
Việc thử nghiệm hoạt động của bộ công cụ được tiến mã các bản tin CAN, từ đó phục vụ cho việc thiết kế<br />
hành trên xe ô tô điện i-MiEV. Quy trình thử nghiệm thay thế các thành phần trên xe ô tô.<br />
bao gồm các quá trình như sau. Thực hiện toàn bộ các<br />
kết nối giữa module thu thập (H.13a), với cổng ODB2<br />
<br />
<br />
<br />
<br />
VCM-2014<br />
Hội nghị toàn quốc lần thứ 7 về Cơ Điện tử - VCM-2014<br />
<br />
<br />
Thông tin bài báo Lê Tiến Sự sinh năm 1991. Hiện<br />
Các nghiên cứu trong bài báo này là một phần của đề tại, anh đang là sinh viên năm cuối<br />
tài cấp Nhà nước mã số KC.03.08/11.15 về “Nghiên chuyên ngành Điều khiển và Tự<br />
cứu thiết kế chế tạo hệ điều khiển và truyền động cho động hóa,Trường Đại học Bách<br />
ô tô điện” do Trung tâm Nghiên cứu Ứng dụng và Khoa Hà nội. Hướng nghiên cứu<br />
Sáng tạo Công nghệ (CTI), Trường Đại học Bách chính là thiết kế các hệ thống nhúng<br />
Khoa Hà Nội chủ trì. ứng dụng trong điều khiển và tự<br />
động hóa.<br />
Tài liệu tham khảo Nguyễn Hà Thành Long sinh năm<br />
[1] National Instruments Corporation: Controller Area 1991. Hiện tại, anh là sinh viên năm<br />
Network (CAN), http://www.ni.com, 2014. cuối chuyên ngành kĩ thuật điều<br />
[2] Harald Eisele; Adam Opel AG:The Benefits of khiển và tự động hóa, Đại học Bách<br />
CAN for In-Vehicle Networking, CAN in Automation, Khoa Hà Nội. Hướng nghiên cứu<br />
iCC, 2012. chính là thiết kế các hệ thống nhúng<br />
[3] Konrad Etschberger: Comparing CAN- and ứng dụng trong lĩnh vực điều khiển và tự động hóa.<br />
Ethernet-based Communication, http://www.ixxat.de,<br />
IXXAT Automation GmbH. Tạ Cao Minh tốt nghiệp đại học<br />
[4] Microchip Technology Inc.: MCP2551 datasheet, tại Tiệp Khắc năm 1986, bảo vệ<br />
http://www.microchip.com, 2010. luận án Tiến sĩ tại Canada năm<br />
[5] Microchip Technology Inc.:dsPIC30F4011/4012 1997, và có 6 năm làm việc trong<br />
datasheet.http://www.microchip.com, 2005. môi trường đại học và công<br />
[6] Microchip Technology Inc.: nghiệp Nhật Bản (1998 - 2004).<br />
PIC18F2455/2550/4455/4550 datasheet, Hiện nay PGS. Minh công tác tại<br />
http://www.microchip.com, 2006. Bộ môn Tự động hóa, ĐH Bách<br />
Khoa HN và giữ vai trò Giám đốc Trung tâm Nghiên<br />
Võ Duy Thành sinh năm 1982. Sau cứu Ứng dụng và Sáng tạo Công nghệ của trường.<br />
khi tốt nghiệp đại học chuyên ngành Hướng nghiên cứu của PGS. Minh tập trung vào điều<br />
Tự động hóa năm 2004, anh đã tham khiển các hệ truyền động điện, điện tử công suất, các<br />
gia một dự án nghiên cứu về điều ứng dụng cho ô tô điện và năng lượng mới. Là tác giả<br />
khiển Robot tại Nagoya, Nhật Bản. của 27 bài báo trên các tạp chí, tập san hội nghị quốc<br />
Anh hoàn thành chương trình Thạc sĩ tế, và 14 sáng chế đã được ứng dụng tại Nhật Bản,<br />
tại trường Đại học Bách Khoa Hà Mỹ, châu Âu, PGS. Minh nhận giải Nhì bài báo xuất<br />
Nội năm 2007 chuyên ngành Điều khiển và Tự động sắc của IEEE năm 2000 và giải C sáng chế của NSK<br />
hóa. Từ năm 2006 tới nay, anh là Giảng viên của Bộ (Nhật Bản) năm 2012. PGS. Minh là Chủ tịch Chi hội<br />
môn Tự động hóa Công nghiệp, Đại học Bách Khoa IEEE Việt Nam từ 2008 đến 2011.<br />
Hà Nội. Hướng nghiên cứu chính của anh tập trung<br />
vào các hệ thống nhúng, phối hợp tín hiệu đa cảm biến<br />
và điều khiển chuyển động cho ô tô điện.<br />
<br />
<br />
<br />
<br />
VCM-2014<br />