Hiện nay, mạch giao tiếp[1] MCU P89LPC với Computer đã được cập nhật và chỉnh sửa hoàn chỉnh <hoạt động tốt>. Có một số thay đổi ở bản vẽ mạch inmạch nguyên lý, bạn có thể xem lại ở các Files cập nhật ngày 15/8/2005 của bộ môn, <Mạch in, mạch nguyên lý>

            Cũng  thật phiền toái khi bạn thấy chỉ công việc đơn giản như thế mà phải chỉnh sửa nhiều lần, tôi thì cho rằng chính khái niệm ISP[2] đã khiến ta lúng túng, một khái niệm mới lúc nào cũng có thể tạo ra những thú vị như thế! Và khi bạn quen với xu hướng: thích 'đóng gói sẵn' thành những sản phẩm độc lập, 'nhúng sẵn' sản phẩm vào môi trường tương tác một cách tiện lợi, hẳn bạn sẽ thấy sự tiện ích và mọi cố gắng làm cho sản phẩm ngày càng tương tác tích cực của các công ty là rất có ý nghĩa.

            Các dòng sản phẩm mới nhất của những hãng sản xuất linh kiện chip <nhân điều khiển> trên thế giới hầu như đều tích hợp sẵn trên chip ISP hoặc/và ICP[3], sự trao đổi giữa Computer với nhân điều khiển khi đó coi như chỉ là sự giao tiếp bắt tay thông thường,  mạch giao tiếp bây giờ đơn giản như một mạch chuyển đổi các chuẩn thích hợp <xu hướng sẽ đưa các chuẩn khác nhau về một chuẩn duy nhất?>. Chính thế, khái niệm ‘adapter’, ‘adapter card’ nhiều khi được sử dụng khi nói về module đảm nhiệm chức năng này. Hẳn nhiên, bạn sẽ thấy được lý do tại sao bộ môn đưa ra 2 khối mạch và tách riêng biệt chúng: phần giao tiếp và phần mở rộng ứng dụng. Khi sản phẩm đóng gói cho người dùng cuối (end user), họ chỉ đơn giản gắn adapter nối kết cổng COM của máy tính và cổng COM của board ứng dụng <trong trường hợp sử dụng cổng COM giao tiếp> để đổ chương trình ứng dụng vào nhân điều khiển mà không cần có thao tác: gỡ MCU trên mạch ứng dụng, gắn MCU vào mạch nạp-đổ chương trình, đưa lại MCU vào mạch ứng dụng, tránh những hỏng hóc không cần thiết do tĩnh điện, bất cẩn làm hư chân IC..., tăng cường thời gian hoạt động của IC.

            Ở bài trước, tôi đã có dịp nói với các bạn về ISP, hôm nay, tôi nói thêm về cách dùng FLASHMAGIC để nạp chương trình cho P89LPC922 khi dùng 2 chân DTR và RTS đưa MCU vào ISP.

      Nếu bạn dùng máy hiển thị sóng để xem dạng sóng trên hai chân Reset và  Vdd, sẽ thấy chúng hiển thị như hình vẽ trên, khoảng thời gian chớp tắt đèn POWER và /RST lần đầu tiên bạn có thể nhận biết bằng thị giác, còn khoảng thời gian để 3 xung đưa MCU vào ISP rất nhỏ (microsecond-xem hình ở bài trước). Bạn chỉ cần nối Jump RESET trên board, FLASHMAGIC sẽ đưa chúng vào ISP. <Hình vẽ trên chỉ minh họa dạng sóng, không đúng về mặt thời gian>

          Khoảng thời gian: T1 và T2 là không quan trọng, mặc dù FLASHMAGIC khuyến báo nên dùng với T1>100ms và T2>120ms, tuy nhiên, thực tế, tôi chọn ngẫu nhiên 2 giá trị và chúng đều hoạt động tốt. <tất nhiên không quá lớn>

 

 

 

           Về tốc độ Baud, bạn nên chọn là 7200, đấy là khoảng chấp nhận của dao động RC trên chip, có thể, với các giá trị 4800, 2400, (hoặc lớn hơn nếu trên mạch bạn có sẵn dao động thạch anh 12MHz) bạn vẫn có thể nạp mạch được, tuy nhiên, nó không đạt được độ tối ưu về tốc độ nạp mạch. Chương trình sẽ tự kiểm tra tốc độ Baud bằng cách gởi kí tự ‘U’ hoa <bạn có thể xem chúng ở chương trình nạp mạch cho PLC922>

 

        Trong box Protect ISP Code, bạn phải chọn  nếu vẫn muốn dùng chương trình ISP.

 

 

 

 

               Trong phần này, bạn có thể không chọn box nào cả, hoặc chọn . Do MCU P89LPC922 dùng bộ nhớ FLASH và tích hợp IAP[4], bạn chỉ có thể xóa và lập trình theo từng block, hoặc từng trang, nhưng phải luôn chú ý không được xóa block 7 (1C00H-1FFFH), hoặc các trang từ 120 đến 127 (1E00H đến 1FFFH), đấy là vùng địa chỉ chứa chương trình ISP.

 

 

            Các ứng dụng thông thường với giao tiếp ngoại vi, vì vấn đề thời gian thực, chắc bạn sẽ không cần dùng đến hơn 7KB bộ nhớ chương trình. Nếu dùng hơn 7KB, bạn nên sử dụng thêm ROM, khi vẫn muốn dùng ISP của MCU P89LPC922.


 

[1] Tôi cố tình không dùng từ ‘mạch nạp’ theo ý thông thường, dùng khái niệm: ‘mạch giao tiếp’ để thấy sự tiện ích của ISP, mặc dù, chính khái niệm này cũng chưa thật hoàn chỉnh.

[2] In system programming.

[3] In circuit serial programming

[4] In Application Programming

 

[Lên đầu trang]

 

 

© 2005 Bùi Trung Hiếu (http://www.khvt.com) Cập nhật lần cuối vào lúc 04:41:04 SA ngày 17 tháng tám 2005