PIC Vietnam

PIC Vietnam (http://www.picvietnam.com/forum/index.php)
-   dsPIC - Bộ điều khiển tín hiệu số 16-bit (http://www.picvietnam.com/forum/forumdisplay.php?f=29)
-   -   Thuật toán với PIC (http://www.picvietnam.com/forum/showthread.php?t=189)

falleaf 12-11-2005 11:52 AM

Thuật toán với PIC
 
Sau khi đã lập trình PIC, dsPIC, chúng ta thấy rằng việc học và làm việc với vi điều khiển thực sự cũng không khó khăn là mấy nếu học sử dụng các chức năng của nó. Các chức năng của nó chủ yếu gồm những gì?

- Điều khiển xuất nhập
- Một vài chuẩn giao tiếp
- Biến đổi ADC, DAC
- Điều khiển CCP

Chủ yếu chỉ có vậy! Nhưng vấn đề quan trọng là gì? Đó là thuật toán tính toán.

Dùng PWM để điều khiển động cơ, mọi người quá quen thuộc với bài toán PID, làm thế nào để thực hiện thuật toán PID trên PIC?

Trong thuật toán PID có phép nhân, cộng... thế làm thì làm sao thực hiện các phép toán đó trên chip?

Khi giao tiếp, các bạn đã có thể lập trình chuẩn giao tiếp tốt RS232, I2C, và một số bạn biết về CAN. Nhưng vấn đề là vì sao người ta vẫn còn nghiên cứu về nó, sử dụng nó, bởi vì các thuật toán để chuyển đổi và lưu dữ liệu, phương thức truyền, cách kết hợp mạng... Tóm lại, nó là thuật toán để thực hiện các giao tiếp này.

Ở PIC, có thể chúng ta chưa gặp vấn đề xử lý tín hiệu, nhưng nếu dùng dsPIC, vấn đề xử lý tín hiệu trở nên vô cùng quan trọng. Lúc đó, chúng ta cần các mạch lọc tín hiệu, các chuẩn giao tiếp viễn thông...

Tất cả những cái đó, từ bài toán cơ bản, đến bài toán nâng cao, đều mang một nghĩa chung, đó là thuật toán.

Rất nhiều người đi nghiên cứu việc thực hiện một thuật toán nào đó trên vi điều khiển, trên VHDL, trên vi xử lý... Cho đến giờ họ vẫn không ngừng nghiên cứu và phát triển. Họ đưa các mạch lọc từ thư viện phần mềm vào phần cứng, rồi lại lôi từ phần cứng ra phần mềm...

Để phát triển PIC, vi điều khiển tại Việt Nam, tôi cho rằng chúng ta nên bắt đầu suy nghĩ đến việc chuẩn hóa một số thuật toán kinh điển, sau đó thiết lập thêm những thuật toán mà chúng ta đang nghiên cứu.

Nó có thể là một thuật toán đọc encoder đơn giản (đừng hiểu lầm đọc encoder đơn giản, rồi một ngày ... các bạn dùng mạch lọc...)

Cho đến việc các thuật toán điều khiển PID, Fuzzy, ...

Hoặc xa hơn là các bộ điều khiển H_inf, Optimal,...

Các mạch lọc tín hiệu số....

Các chuẩn giao tiếp....

Rất rất nhiều

PS> Hiện nay tôi muốn mời một thành viên của chúng ta, chuyên về xử lý tín hiệu số, và am hiểu về thuật toán, phụ trách chuyên mục này.

Nếu có người phụ trách, tôi sẽ mở box này và đưa ra ngoài thành một box chính với tên gọi: Thực hiện thuật toán trên vi điều khiển và vi xử lý

Tôi có thể cung cấp tài liệu và viết bài, nhưng càng ngày, nội dung càng nhiều, một mình tôi không thể làm hết việc, mong rằng sẽ có sự nhiệt tình tham gia của các bạn thành viên.

Trân trọng

ĐOÀN Hiệp

txt 06-01-2006 10:10 AM

theo anh thì thuật toán phải có tính tổng quát cao , hay là áp dụng cho trình biên dịch C riêng , cho ASM riêng ? hay thậm chí cho từng trình biên dịch một ?

falleaf 14-02-2006 07:43 PM

Có hai vấn đề rất cụ thể. Một là thuật toán toàn cục. Có nghĩa là độ phức tạp khi viết trên CCS C hay MPASM gì thì cũng như nhau thôi. Đâu là các phép tính chính, độ phức tạp của thuật toán là bao nhiêu? Cái này có cách tính toán cả.

Hai là xử lý chi tiết, gọi là các thuật toán cơ sở, cái này thì phải tính toán trên MPASM.

Chúng ta cần làm cả hai

Chúc vui

hpecom 16-02-2006 09:22 AM

Theo tại hạ thì thuật toán nên trình bày và phân tích ở dạng lưu đồ. Còn người cài đặt thuật toán đó muốn sử dụng trình biên dịch nào là tùy họ. Cái đó thuộc về kỹ năng lập trình. Về kỹ năng chúng ta nên dành cho mỗi ngôn ngữ một luồng riêng thì sẽ hay hơn.
Xin được góp ý với diễn đàn. Mong diễn đàn ngày càng hữu ích.


Múi giờ GMT. Hiện tại là 08:09 AM.

Tên diễn đàn: vBulletin Version 3.8.11
Được sáng lập bởi Đoàn Hiệp.
Copyright © PIC Vietnam