1. Tuyển Mod quản lý diễn đàn. Các thành viên xem chi tiết tại đây

Loại bỏ bằng cả cứng lẫn mềm , ai cao thủ xin chỉ giúp.

Chủ đề trong 'Điện - Điện tử - Viễn thông' bởi nguyenxuanbach, 25/03/2004.

  1. 1 người đang xem box này (Thành viên: 0, Khách: 1)
  1. nguyenxuanbach

    nguyenxuanbach Thành viên mới

    Tham gia ngày:
    10/06/2003
    Bài viết:
    144
    Đã được thích:
    0
    Loại bỏ bằng cả cứng lẫn mềm , ai cao thủ xin chỉ giúp.

    Loại bỏ bit Start-Stop của cổng COM bằng mạch ngoại vi, có ai biết cách làm không ? Cụ thể, nếu phát 9600,n,8,1 tức là có 8 bit data trong 8+1 start +1 stop = 10 bit -> nếu lấy data mà không dùng RS 232 cần phải loại bỏ 2 bit start & stop của dòng dữ liệu. Tần số phát bị xác định không thể thả nổi được (vd : 512 HZ, 1200 HZ, 2400 HZ : Hết.)
    Có ai biết mạch nào hay hay không, giúp với ?

    Còn một cách khác là phát qua Sound card , có vẻ không ổn định lắm do phải định nghĩa lại cấu trúc WAV_FORMAT_PCM( với f mẫu là 8,11,22 .. kb -> phải đ/n lại f mẫu = 9,6 ; 1,2 ... kb ).
    Hiện tại phát kiểu này OK nhưng do thay cấu trúc PCB điều khiển phần cứng Sound Card của API ( kiểu như driver # ) nên tôi thấy ... nghi nghi !

    Ai là cao thủ lập trình phần cứng bằng Visual , Delphi xin cho ý kiến về hai giải pháp trên !

    Cảm ơn nhiều.

    Được nguyenxuanbach sửa chữa / chuyển vào 10:50 ngày 25/03/2004
  2. TuLa

    TuLa Thành viên quen thuộc

    Tham gia ngày:
    24/10/2002
    Bài viết:
    413
    Đã được thích:
    0
    Có 3 cách:
    - Cách 1: Bỏ start, stop, sờ loằng ngoằng.... thì sao bạn không dùng luôn cổng song song để truyền cho rồi !
    - Cách 2: vẫn dùng cổng RS232. Tạo một mạch phụ với chip 8051 chẳng hạn làm chức năng như một bộ đệm. Nó sẽ nhận dữ liệu của PC qua đường RS232 rồi sau đó truyền dữ liệu nhận được đó qua cổng song song của nó tới Bộ Nhận data của bạn (như thế là vứt được start, stop rồi phải kô :-)).
    - Cách thứ 3:
    Kô làm được 2 cách trên thì xxx lắm !
    http://tula.vanlang.org
  3. nguyenxuanbach

    nguyenxuanbach Thành viên mới

    Tham gia ngày:
    10/06/2003
    Bài viết:
    144
    Đã được thích:
    0
    Thank nhưng không được :
    - Không điều khiển đưọc LPT tại tốc độ thấp : f < >1 kHz thì làm thế nào ? Chưa kể đến hàm API cung cấp timer nhỏ nhất đến 1 ms nhưng sai số cực lớn ( nếu dùng SetTime : sai số từ 1 - 5 ms , còn dùng getFileDateTime .. cứ ~ 500 - 600 ns mới có một xung điều khiển ) -> điều khiển f phát : Sai toét !
    - Đang hỏi mạch ngoại vi, cần gì dùng 8051 phức tạp đến như vậy .
    Cảm ơn.
  4. opentdoors

    opentdoors Thành viên mới

    Tham gia ngày:
    09/01/2004
    Bài viết:
    1.205
    Đã được thích:
    0
    Delphi, VB không phải là ngôn ngữ lập trình tối ưu nhất cho phần cứng. Nên tham khảo bộ DDK nếu muốn lập trình với phần cứng.
    Dùng 8051 như Tula nói là hay nhất rồi. Tần số phát cao nhất là 2,4Khz cũng không lớn lắm, dùng mạch ngoài và nhận dữ liệu điều khiển từ PC qua cổng com với v>=9.6Kbps.
    Cách nữa là mua 1 con biến tần 1 pha về (vài trăm-> vài triệu), tạo thêm 1 mạch điều khiển chiết áp bằng máy tính. Vd như dùng triac hay thyristor điều khiển dòng, dòng thay đổi thì f thay đổi.
    Các hàm về Timer của VB hay Delphi chỉ là đồng hồ ảo. Muốn điều khiển thời gian thực thì phải chơi cách khác, đừng dùng windows.

Chia sẻ trang này