|
HỆ THỐNG NHÚNG – THỰC TẠI
VÀ DỰ ĐOÁN!
------ -----
Người viết:
Bùi Trung Hiếu
Webmaster:
Khoa học và tuổi trẻ
Với dân điện
tử-lập trình phần cứng hiện nay, khái niệm “embedded”
dần đã trở thành quen thuộc, từ những nhân xử lý phổ biến 8 bits, người ta
đã thấy xuất hiện các nhân xử lý 16/32bits, với tốc độ CPU cao, đáp ứng thời
gian thực tốt, các ứng dụng cũng dần được triển khai, không còn giới hạn
trong phạm vi phòng nghiên cứu, xưởng thực tập,... mà manh nha đi vào sản
xuất, vào cuộc sống...
Trong khi ta
đang tranh cãi với nhau: sử dụng PIC, AVR, hay dòng 8051 cổ điển... là tốt,
trong khi ta đưa ra hàng tá lý do để bảo vệ cho lý do chọn chip 8bits của
mình, cho nó là tốt nhất, là tối ưu,... thì có một bộ phận không nhỏ người
nghiên cứu bắt đầu thấy những ứng dụng to lớn khi làm việc với những nhân xử
lý cao cấp hơn, mở rộng được ngoại vi, giao tiếp PC với tốc độ cao, kết nối
các modul linh hoạt, phương thức truyền thông đa dạng, có khả năng kết nối
Internet, điều khiển đáp ứng thời gian thực tốt hơn, thu thập số liệu
thật hơn, các kết quả tính toán trung gian là liên tục (theo ý hiểu
không dùng thuật tra bảng
J)...
những công việc mà trước đây chỉ có PC làm được, dần dần nhân CPU của hệ
thống nhúng đã đảm đương thay!
Chưa bao giờ,
hệ thống nhúng phát triển vượt bật như vậy!
- Cái nhìn tổng quan về
dòng MCU 8bits:
Trong thời 8
bits là phổ biến, người ta ngại khi dùng đến chữ “embedded” ở sản
phẩm của mình! Nói một cách khách quan, thì trên 90% các sản phẩm phần cứng
lập trình hiện nay trên thị trường (ta), đều có nhân xử lý 8 bits làm CPU.
Trong đó:
+Atmel luôn chiếm số đông vì thị
phần ổn định trong các ứng dụng thông thường.
+PIC đang được nhiều SV, người
nghiên cứu tìm hiểu và sử dụng, MCU này có sự hỗ trợ tốt từ cộng đồng. Tuy
nhiên, PIC chưa phổ biến trong các sản phẩm thương mại, một phần vì giá
tương đối cao, nó là hạn chế rất lớn khi một nhà sản xuất quyết định sử dụng
PIC trong sản phẩm của họ, dsPIC hi vọng sẽ có tương lai trong các ứng dụng
cao cấp xử lý số đa dụng sau này, tuy nhiên, ở hiện tại, vẫn đang trong giai
đoạn thử nghiệm, mặc dù cũng đã có kết quả bước đầu!
+AVR cũng chiếm một phần không nhỏ
thị phần, với dân lập trình quen dùng Atmel, sự chuyển tiếp từ 89C51 lên AVR
là tương đối dễ chịu, giá cả của AVR lại rất cạnh tranh, đó là ưu thế của
họ, so sánh mức đa dụng của AVR và PIC thì 2 dòng này có những tính năng
tương đồng nhau, đấy cũng là lý do vì sao, một số người sản xuất bắt đầu chú
ý tới AVR, tuy nhiên, hạn chế lớn nhất của họ (người dùng AVR) là sự hỗ trợ
từ cộng đồng không tốt như PIC!
+Sự thành công của các đội Robocon
khoa Điện ĐH BKTP, một vài cuộc thi về MCU 8bits gần đây của Philips làm ta
nhắc đến dòng P89 của họ, theo nhận xét chủ quan của tôi, dòng này rất gần
với họ 8051 kinh điển, sản phẩm tương đối phong phú, và thích hợp với các
ứng dụng đặc biệt của người dùng!
Sau khi liệt
kê như thế, bạn cho rằng ta nên có một đánh giá, một kết luận cụ thể: nên
dùng MCU nào trong các sản phẩm? Tôi không muốn đi sâu vào cuộc tranh cãi
không hồi kết mà theo tôi, là vô bổ! Chỉ xin đưa ra các câu hỏi gợi mở thế
này:
+Bạn là sinh
viên, người nghiên cứu hay người sản xuất ứng dụng? Bạn là người thích tìm
tòi học hỏi hay muốn ứng dụng ngay vào sản phẩm dựa trên các modul có sẵn?
+Bạn cần chức
năng gì chuyên biệt của ngoại vi/CPU... MCU? Chức năng ấy sẽ có trong các
dòng sản phẩm MCU nào?
+Bạn quen sử
dụng loại MCU nào? Sự thay đổi các MCU đối với bạn dễ hay khó?
+MCU bạn quen
sử dụng có dễ dàng tìm được thị trường VN hay không?
Dòng sản phẩm ấy có khả năng bị gián đoạn không?
+Chân của MCU
bạn sử dụng dạng gì? Có dễ dàng để thiết kế hay không? Nguồn sử dụng để nuôi
ngoại vi và CPU của MCU có dễ tạo hay ko?
... Còn một số
điều nữa, nhưng theo tôi, ta chưa lấy làm chú trọng: như việc tiêu thụ năng
lượng của MCU, đấy có thể do ở ta, các ứng dụng portable chưa ở mức cao!
Hoặc các soft hỗ trợ lập trình firmware, debug, simulation... vì ta chưa
thực hiện bản quyền nghiêm ngặt!...
- Những mầm sống mới:
Khi mà lực
lượng sử dụng các chip MCU 8 bit vẫn còn chiếm đa số, các ứng dụng chưa ở
mức cao cấp, tưởng như sự chuyển dịch công nghệ là không thể, thì nó vẫn âm
ỉ chảy! Nhiều người làm kĩ thuật lâu năm vẫn ở mức hoài nghi về nền công
nghiệp điện tử non trẻ ở ta, họ không tin trong vòng 5 năm tới ta có thể chế
tạo được sản phẩm embedded nào ra hồn!@
Rồi nhen nhóm
hi vọng khi cánh cửa WTO hé mở, rồi thấp thỏm đợi chờ lớp người đi du học,
nghiên cứu ở các nước về phục vụ quê hương, rồi phấp phỏng mừng lo khi thấy
lứa sinh viên đang học trong nước có những bước tiến dài,... những hoài
nghi, cảm xúc chen lẫn,... cảm giác dường như đang dần tạo một hình thể mà
trước nay, chưa thấy bao giờ! Người ta thấy thị trường điện tử nhộn nhịp lạ,
mỗi tuần đều có những đợt hàng linh kiện đơn lẻ về nước, các diễn đàn về
điện tử bắt đầu (hay tiếp tục) bàn về những ứng dụng dựa trên các lý thuyết
mới, cao cấp, đem lại giá trị!
Khi những
người đứng trên lập trường thiết kế hệ thống vẫn quen sử dụng các modul sẵn
có của nước ngoài, vì tính ổn định, chính xác, hay thương hiệu, thì dân điện
tử ở ta bắt đầu chú ý tới các lớp thấp OSI, và có kế hoạch tạo thành gói sản
phẩm hoàn chỉnh,... trở ngại lớn nhất của họ, có lẽ là các chuẩn, điều kiện
thực tế về mạch in, linh kiện.
Chuẩn thì vô tội vạ, theo chuẩn nào? Của hãng nào? Đấy cũng là vấn đề khiến
người sản xuất bao giờ cũng phải tạo sản phẩm thích hợp nhiều chuẩn, nhiều
phương thức, có khi lại đi xa quá một ứng dụng thực tế! Nó khiến sản phẩm
cồng kềnh, lãng phí, nhưng lại thích hợp với các ứng dụng đa dạng của người
dùng!
Các ứng dụng cao cấp
(như card PCI, thu thập và xử lý hình ảnh, âm thanh, CPU cho hệ thống
wireless...) đòi hỏi cấu hình CPU mạnh, ngoại vi tương thích với nhiều
device, PC, bộ nhớ ngoài có dung lượng lớn, tiêu thụ năng lượng ít, đồng
thời giá thành không quá cao! Những yêu cầu khắc khe của khách hàng khiến
các kĩ sư/người thiết kế nghĩ đến các dòng chip khác thích hợp cho sản phẩm
của mình, không có sự chọn lựa nào là tối ưu, nhưng thích hợp đến mức chấp
nhận được! Trong một bài báo của Texas Instruments
[I]mà tôi đọc được , theo phân tích của tác giả, ông chọn DSP cho các
ứng dụng yêu cầu thời gian thực cao, sau 3-4 năm, các lựa chọn của ông có lẽ
sẽ không còn chính xác nữa, tuy nhiên, cách phân tích vẫn có giá trị trong
thời điểm hiện tại. Những nhân điều khiển hỗ trợ phần cứng được lập trình,
các cổng logic được thiết kế cho một nhiệm vụ, chức năng chuyên biệt tỏ ra
hơn hẳn các dòng sản phẩm đa dụng.
- ARM hay Sự lựa chọn nào
của bạn?
Nếu bạn quan tâm thực tế đang diễn ra về công nghệ bán dẫn
trên thế giới, hẳn nhiên sẽ thấy sự phát triển dài của dòng sản phẩm ARM
trong những năm gần đây. Nó trở thành một thương hiệu mà các công ty cấp
phần mềm, cũng như hãng chế tạo phần cứng của các hệ thống nhúng quan tâm,
coi là sản phẩm mũi nhọn của họ.
Vậy, nguyên nhân nào khiến ARM phát triển như vậy?
Trong một bài báo trên TechOnline
[II], tác giả đã phân tích lý do vì sao ARM đang có một thị trường rộng
lớn người dùng: trong nghiên cứu, ứng dụng nhỏ lẻ và cả trong công nghiệp!
Những lợi ích lớn từ nhân điều khiển này mang đến như: giá thành thấp, tiêu
tốn năng lượng ít, cấu trúc lệnh RISC 32 bit, và 16 bit (Thumb), hỗ trợ tính
toán số thực, DSP (từ ARM9 trở về sau), tích hợp các chuẩn truyền thông
thông thường (UART, USB, CAN, ...), hỗ trợ debug phần cứng với JTAG, tích
hợp ISP, hỗ trợ DMA, bộ nhớ mở rộng, IO số lượng đáng kể, sử dụng cấu trúc
bus AMBA
linh hoạt, tốc độ cao...
rất dễ dàng để phát triển SoC. Thêm vào đó, cộng đồng sử dụng ARM rất đông
đảo, các hãng cung cấp MCU dựa trên kiến trúc ARM phong phú, dễ lựa chọn,
các nhà cung cấp phần mềm (software), hỗ trợ phần cứng (board demo, ứng
dụng), số lượng cũng không ít…
Đi kèm với sự phong phú về chủng loại, nhà sản xuất, người
sử dụng cũng dễ dàng tìm cho mình bộ công cụ phát triển firmware thích hợp,
nếu chi phí ban đầu lớn, có thể mua các IDE của những hãng cung cấp soft nổi
tiếng
(Keil, IAR, Green Hills…), có giao diện thân thiện, dễ dùng, cách tiếp cận
này đi từ thói quen sử dụng IDE của nhân 8 bit lên, hầu như không gặp trở
ngại nhiều. Cách khác, bạn có thể sử dụng tool-chain của GNU, hoàn toàn miễn
phí. Tất nhiên, sẽ có nhiều khó khăn khi tiếp cận với mã nguồn mở, không xây
dựng các guide thân thiện, compiler không tối ưu
code như các tool có license,… nhưng bạn cũng sẽ nhận được
sự hỗ trợ rất lớn của cộng đồng GNU, và quan trọng, chi phí đầu tư của bạn
sẽ giảm xuống đáng kể.
[Phần 2:
Công nghệ SoC, hướng phát triển nào là thích hợp ở VN?]
Tài liệu tham khảo:
[I] Choosing the Right Architecture for
Real-Time Signal Processing Designs-
Leon Adams
-
Strategic Marketing, November 2002
[II]Criteria for ARM Migration as the
Industry Standard MCU-Bahram
Raad, Sr. Application Engineer, Oki Semiconductor,
2005
[III]Một
số bài báo và trang web khác.
Advanced Microcontroller
Bus
Architecture
|
|