Có một đầu nối lập trình In Circuit chuẩn cho chip LPC không?


8

Các chip vi điều khiển LPC khác nhau có chế độ khởi động chấp nhận giao tiếp nối tiếp và ghi chương trình nhận được vào Flash. Tôi muốn tạo một PCB với và LPC1114 phải được lập trình theo mạch, chỉ có mạch giao diện tối thiểu trên PCB. Có một đầu nối tiêu chuẩn để cung cấp các tín hiệu cần thiết (GND, RxD, TxD, Reset, BootModeEnable) không?


2
Có các đầu nối tiêu chuẩn cho JTAG và SWD, nhưng không có đầu nối tiêu chuẩn để tải chương trình qua kết nối nối tiếp.
Leon Heller

Đối với việc thiếu một tiêu chuẩn, có một số kết nối thường được sử dụng? Hoặc thậm chí một bảng duy nhất có một kết nối như vậy ??
Wouter van Ooijen

Chỉ cần sử dụng một tiêu đề với ba chân - Gnd, Tx và Rx.
Leon Heller

Để 'rảnh ​​tay', cần có một hoặc hai chân phụ: thiết lập lại và BootModeEnable (có thể được kết hợp với chi phí của một số mạch bổ sung).
Wouter van Ooijen

Câu trả lời:


3

Tôi sử dụng USB của Sparkfun để lên bảng UART. Tôi mang ra UART0, đặt lại và isp cho các tiêu đề. Tôi kết nối thiết lập lại và isp xuống đất với jumper, sau đó sử dụng FlashMagic. Điều này dường như chỉ hoạt động đúng nếu tôi cũng cấp nguồn cho thiết bị từ USB, vì vậy căn cứ là phổ biến.

Hội đồng quản trị của Sparkfun:

https://www.sparkfun.com/products/718


Bạn không cần phải lấy nguồn từ usb để thiết lập điểm chung, nó là đủ để gắn kết các căn cứ với nhau.
Chris Stratton

1

Nếu bạn thiết lập một đầu nối tương thích với phiên bản tiêu đề của cáp nối tiếp USB FTDI điện áp thấp, bạn có tùy chọn không cần phải ký hợp đồng sản xuất cáp tùy chỉnh.

Bạn có thể điều khiển chế độ khởi động khỏi một dòng trạng thái và kết nối thiết lập lại với một nắp (nghĩ rằng tôi có thể đã sử dụng một bóng bán dẫn như một biến tần khi tôi làm điều này với một phần ST). Sau đó bỏ chọn và chọn lại chế độ khởi động sẽ đặt lại chip và chuẩn bị để tải xuống.


Tôi đã xem xét phương pháp đó, nhưng tôi thích cách tiếp cận hai cách bắt tay hai đường tiêu chuẩn hơn hoặc ít hơn. Điều đó để tùy chọn mở để ra lệnh thiết lập lại không tải khởi động và lưu một vài thành phần trên bảng đích.
Wouter van Ooijen

1

Vì dường như không có tiêu chuẩn nào tồn tại, tôi đã đưa ra lựa chọn của riêng mình: tiêu đề pin góc phải 2x4 cho bảng mục tiêu và đầu nối nữ ditto cho bảng 'lập trình viên'. Lập trình viên có FT 232RL hoặc tương tự, bộ điều chỉnh 5V-> 3.3V và công tắc để tắt nguồn cho bảng đích (bắt buộc để buộc chip mục tiêu vào chế độ lập trình khi pin đặt lại được đặt lại dưới dạng GPIO).

nhập mô tả hình ảnh ở đây chân kết nối

nhập mô tả hình ảnh ở đây

nhập mô tả hình ảnh ở đây sơ đồ mạch lập trình ('dongle') nhập mô tả hình ảnh ở đây

Lập trình viên với bảng mục tiêu LPC1114 dân cư tối thiểu.

Tôi sử dụng lpc21isp làm công cụ lập trình trên PC (mã nguồn mở, dễ biên dịch cho Windows hoặc Linux), nhưng tôi phải thêm một dòng vào mã vì cách nó khởi động ứng dụng sau khi tải xuống (nhảy đến đầu mã) không hoạt động cho Cortex.


0

Tôi đã không làm việc với LPC1114 trước đây nhưng hãy xem địa chỉ dưới đây. Ở bên trái, bạn sẽ thấy một liên kết đến một tệp sơ đồ ...

http://www.keil.com/mcb1000/


Bảng mạch này có phần cứng giao diện nối tiếp (trong trường hợp này là chip max 232, nhưng có thể là FT232RL hoặc thứ gì khác) trên PCB, do đó không có đầu nối nào mang tín hiệu tôi muốn giao diện.
Wouter van Ooijen

Trên trang thứ hai, có giao diện JTAG. Bạn phải sử dụng bộ chuyển đổi JTAG ở phía PC, nhưng trên PCB, không có phần cứng bổ sung như RS232 ...
Malkocoglu

Tôi muốn sử dụng giao diện nối tiếp, không phải JTAG. Quá phức tạp, quá nhiều đường tín hiệu.
Wouter van Ooijen

SWD chỉ yêu cầu hai hoặc ba tín hiệu. Bạn nhận được gỡ lỗi, rất hữu ích.
Leon Heller

2
Đúng, nhưng với chi phí của một giao diện phức tạp hơn ở phía PC. (Và tôi hiếm khi sử dụng trình gỡ lỗi, ngay cả khi tôi có sẵn một cái)
Wouter van Ooijen

0

Tôi thực sự xây dựng một cái gì đó với cùng một vi mô. Tôi vừa chọn một trong số này: http : //ics.nxp.com/lpc े o / với giá ~ 20 đô la từ digikey, cắt mặt "mục tiêu" của bảng và nối một đầu nối tùy chỉnh ở phía "liên kết LPC" để làm việc với tiêu đề lập trình của tôi. Môi trường được tạo bởi CodeRed gây khó chịu vì dựa trên Eclipse (tôi ghét Eclipse) nhưng nó hoạt động trong Windows, Linux và có thể cả Mac. Họ có hướng dẫn cho tất cả các chương trình dòng lệnh hoạt động với giao diện LPC Link.

Tôi có một môi trường được thiết lập trong linux để chỉ chạy make dlvà nó sẽ khởi tạo liên kết, lập trình nó và kích hoạt các bit bảo mật, tất cả thông qua USB và các kết nối SWD đến LCP1114. Thậm chí có thể được sử dụng để gỡ lỗi miễn là bạn không sử dụng lại một trong các tín hiệu SWD.

Nó không phải là nối tiếp như bạn đang tìm kiếm, nhưng nó hoạt động như một sự quyến rũ.


1
Tôi biết lpce े, tôi có 1114, 1343, 1769 và ván chân tường. Những thứ hay ho (mặc dù tôi đã bỏ cả liên kết IDE và LPC một cách kinh tởm), nhưng không phù hợp với những gì tôi muốn. PCB của tôi sẽ tối đa 20 x 50 mm.
Wouter van Ooijen

@WoutervanOoijen, tôi sử dụng vim và có tất cả các công cụ được thiết lập để chạy qua dòng lệnh. Bảng của tôi lớn hơn một chút nhưng nó sẽ hoạt động như nhau. Trước đây khi tôi đã thực hiện các dự án nhỏ như vậy, tôi đã làm cho các chân lập trình đi ra các miếng đệm lớn, và sau đó dựng một khuôn tùy chỉnh để kết nối chúng qua các chân được tải bằng lò xo và giữ nó đúng vị trí. Tôi thực sự không biết về bất kỳ giải pháp nào cho đầu nối "chung / chuẩn" để kết nối với PCB của bạn.
Kris Bahnsen

0

Nếu bạn muốn lập trình nối tiếp với đầu nối tiêu chuẩn (có nghĩa là RS232) tại sao bạn không triển khai UART bình thường (MAX3232 hoặc một cái gì đó) với kết nối nam DB9 tiêu chuẩn ở phía LPC? Hơn bạn chỉ cần sử dụng cáp DB9 mở rộng (nam sang nữ) về phía PC (hoặc sử dụng cáp nối tiếp với cáp usb nếu PC của bạn không có cổng nối tiếp). Trong mọi trường hợp, đặt DB9 nữ trên bo mạch PLC của bạn và bạn không bao giờ phải sản xuất cáp nối tiếp :-). Đừng quên ghim dây đúng cách, cáp mở rộng thẳng (1-1, 2-2, ... 9-9).

Nếu không gian trên bảng bị trục trặc (không đủ chỗ cho DB9) thì bạn chỉ có thể cung cấp tiêu đề pin 2 x 5.

Tất nhiên, bạn cũng có thể sử dụng các bộ chuyển đổi mức MAX3232 dự phòng để buộc bo mạch của bạn ở chế độ thiết lập lại / khởi động giống như tôi đã làm trên bảng dựa trên NXP / AT89C51Rx2 của mình cũng sử dụng Flashmagic. Cùng một nguyên tắc, Falshmagic kiểm soát mục khởi động thông qua dòng nối tiếp.

Tất cả những gì đã nói, tôi sẽ đi với SWD / JTAG và đã gỡ lỗi theo ý của tôi.


(nhận xét khoảng 6 năm sau ...) Tôi không muốn sử dụng đầu nối chuẩn RS232, điều đó sẽ gây lãng phí cho mạch điện (ở cả hai phía). Tôi muốn mạch tối thiểu ở phía đích (về cơ bản là 0).
Wouter van Ooijen
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.