ICSP hoặc Vi điều khiển được lập trình sẵn


11

Tôi đã thiết kế một PCB cho sản xuất quy mô nhỏ; Hiện tại tôi đang hàn tay chúng theo lô 20 lần. PCB này sử dụng một vi điều khiển ATMEGA168 mà tôi lập trình trước khi hàn vào bảng - phương pháp này hoạt động tốt với tôi vào lúc này.

Tôi đang xem xét có một lô 200 tấm được sản xuất và lắp ráp cho tôi vì sản phẩm tôi thiết kế dường như khá phổ biến. Nó sẽ là thực hành tốt hơn để bao gồm một tiêu đề ICSP lên bảng hoặc tiếp tục lập trình trước các IC? Lập trình lại bảng sau khi sản xuất hoặc lắp ráp không phải là một tính năng dự định hoặc bắt buộc.

Tôi không chắc chắn làm thế nào điều này được thực hiện trong một môi trường sản xuất quy mô lớn hơn? Thêm một tiêu đề ICSP sẽ làm tăng chi phí sản xuất một chút để lập trình trước là một thông lệ tiêu chuẩn?

Câu trả lời:


18

Tôi sẽ đề nghị luôn luôn bao gồm một tiêu đề trong loại số lượng đó (nhỏ). Nếu bạn có số lượng lớn hơn, bạn có thể xem xét các miếng đệm cho chân pogo (bạn phải tạo một vật cố định để giữ PCB thẳng hàng) hoặc, với số lượng của bạn, bạn có thể sử dụng một trong các cáp Tag Connect chỉ yêu cầu lỗ và không phổ biến miếng đệm (họ chụp lên bảng).

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

Cùng với việc cho phép bạn phục hồi sau khi cần cập nhật lập trình, điều này sẽ cho phép bạn có một nhà lắp ráp điền vào các bảng trước khi lập trình, có thể cải thiện hậu cần.

Lập trình trước chắc chắn là một lựa chọn, ngay cả với số lượng sản xuất (thậm chí bạn có thể nhờ nhà phân phối làm điều đó cho bạn), nhưng dường như nó chủ yếu được sử dụng trong các ứng dụng đơn giản nhất. Thông thường chip trên bo mạch được lập trình (hoặc có khả năng được lập trình) sau khi lắp ráp.


Đây có vẻ là một giải pháp tốt - nhờ sự giúp đỡ của bạn, những dây cáp đó trông khá hữu ích!
edcs

1
Tag-Connect hoạt động tốt cho việc này. Bạn cũng có thể có được các phiên bản mà không cần các chốt khóa (nhựa màu đen ở bên phải hình ảnh) mà thay vào đó dựa vào áp lực hoặc tấm ốp để chụp các chân. Lưu ý rằng cáp hình là khoảng $ 50. Về mặt tích cực, các liên hệ PCB là khoảng $ 0.
Ben Jackson

20

Nếu bạn có không gian cho một tiêu đề, đó có lẽ là lựa chọn tốt nhất và các chân hơi so le mà Majenko khuyên dùng là một cách tốt để giữ một đầu nối tại chỗ mà không cần thêm độ phức tạp.

Nhưng đây là một cách tiếp cận khác, đối với các bảng mà bạn không có không gian để đặt tiêu đề hoặc tiêu đề tiêu chuẩn không hoàn thành tất cả các nhiệm vụ kiểm tra lập trình / thiết lập / bảng của bạn.

Cho một yếu tố hình thức nhỏ PCB như ở đây (đường kính 33mm) nhập mô tả hình ảnh ở đây

bạn có thể đặt nó ra với các điểm kiểm tra (được dán nhãn ở mặt sau) nhập mô tả hình ảnh ở đây

và tạo một vật cố thử nghiệm cho nó (sử dụng Pogo Pins ) nhập mô tả hình ảnh ở đây

Điều này đòi hỏi một số khả năng gia công và ít nhất là một mũi khoan trụ (vì các chân pogo phải chính xác theo chiều dọc). Tuy nhiên, nếu bạn sẵn sàng mạo hiểm với PCB nguyên mẫu, bạn có thể kẹp nó vào một tấm vật liệu và "phát hiện" qua các lỗ của điểm kiểm tra để đưa các chốt pogo vào đúng vị trí. (Tôi nhận được 10 PCB với mức giá thấp đến nực cười từ Itead, vì vậy mất một PCB không phải là vấn đề lớn).

Với một máy tiện và máy nghiền, làm cho các trụ và kẹp để xác định vị trí PCB đúng vị trí chính xác là một cách né tránh, nhưng không quá khó với các công cụ đơn giản hơn.

Sau đó, bạn chỉ cần phù hợp với từng PCB, chương trình và kiểm tra nó. Đầu nối lỏng lẻo thường đi đến các chân tiêu đề trên TI Launchpad, được sử dụng để lập trình MPU (TI MSP430) này thông qua giao diện SBW, nhưng nguyên tắc tương tự sẽ áp dụng cho JTAG hoặc các giao diện khác. (Cáp màu nâu ở trên cùng là cáp đồng trục mang tín hiệu hiệu chuẩn đến bộ đếm tần số). nhập mô tả hình ảnh ở đây

Các cơ sở gỗ gụ đánh bóng là tùy chọn; Tôi chỉ tình cờ thích một phong cách steampunk cho đồ đạc thử nghiệm của tôi.


Đây là một câu trả lời tuyệt vời và cảm ơn vì đã dành thời gian để cung cấp một phản hồi chi tiết hữu ích như vậy! Tôi đã không đánh dấu nó là câu trả lời vì trong trường hợp của tôi, tôi có không gian để phù hợp với tiêu đề ICSP nhưng đó là điều tôi sẽ ghi nhớ nếu tôi phải xây dựng bất cứ thứ gì nhỏ bé.
edcs

2
Đó là một khuôn mẫu đẹp (hoặc nó là một vật cố định?). Có bất cứ điều gì để khóa góc PCB hay nó chỉ được xếp hàng bằng mắt?
Spehro Pefhany

Tôi nhìn các chốt pogo qua các lỗ điểm kiểm tra có thể nhìn thấy trước khi tôi ấn xuống và vung các kẹp vào. Thô nhưng nó hoạt động. Trên PCB lớn hơn, tôi khuyên dùng một vài chân vị trí, ví dụ như trong các lỗ lắp PCB.
Brian Drumond

13

Tôi luôn thêm không gian cho tiêu đề ICSP, ngay cả khi nó không được điền. Tôi có ba cách để làm điều đó vào lúc này tùy thuộc vào tình huống.

Một trong những thiết kế của tôi có một tiêu đề cao độ rất tốt mà tôi đã xây dựng một bộ chuyển đổi (dây lõi cứng 0,6mm là hoàn hảo cho nó):

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

Tôi sử dụng kết nối này khi không gian ở mức cao nhất tuyệt đối. (Xin lỗi, nó bị mờ, máy ảnh của tôi bị hỏng).

Cách sắp xếp thứ hai tôi thường sử dụng là kết hợp ICSP vào một tiêu đề khác. Nếu các chân ICSP cũng có thể được sử dụng làm chân GPIO và bạn có thể sử dụng chúng với kết nối có thể tháo rời, thì đủ đơn giản để bao gồm bất kỳ kết nối ICSP nào khác mà bạn có thể cần (ví dụ MCLR) với chi phí tối thiểu. Sau đó, bạn chỉ cần cắm lập trình viên của mình vào tiêu đề đó với một bộ chuyển đổi đủ đơn giản để thực hiện.

Cách thứ ba là cung cấp dấu chân tiêu đề "so le" hoặc "bù" cho ICSP. Tôi sử dụng điều này chủ yếu trên các bảng phát triển nơi người dùng cuối có thể muốn làm ICSP nhưng không muốn làm hỏng bảng của họ bằng cách hàn tiêu đề vĩnh viễn. Dấu chân này cho phép một tiêu đề tiêu chuẩn để phù hợp và tạo ra sự tiếp xúc chắc chắn mà không cần bất kỳ mối hàn nào:

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

Khi bạn bắt đầu giao dịch với số lượng lớn hơn nhiều, chắc chắn sẽ hiệu quả hơn về mặt chi phí khi nhà sản xuất chip lập trình trước chip cho bạn với phần sụn của bạn. Tôi nghĩ rằng tất cả các nhà sản xuất lớn cung cấp cơ sở đó.


Cảm ơn câu trả lời chi tiết - thông tin chắc chắn hữu ích ở đây! Tôi không chấp nhận câu trả lời của bạn vì tôi sẽ sử dụng cáp Tag Connect được đề xuất, mặc dù phương pháp ghim so le cũng hoạt động tốt.
edcs

Atmel chắc chắn cung cấp nó như là một tùy chọn.
Ignacio Vazquez-Abrams

2
Các dấu chân tiêu đề so le là di truyền thuần túy. +1
Vladimir Cravero

5

Nếu một người đang sử dụng bộ xử lý có thể được lập trình lại theo mạch, tôi rất khuyến nghị các bo mạch được thiết kế theo cách cho phép sử dụng nó, ngay cả khi thực sự sử dụng tính năng này sẽ yêu cầu xây dựng một vật cố cho mục đích cụ thể đó và một cái không Không có kế hoạch xây dựng một. Nếu một vấn đề phần sụn được phát hiện sau khi sản xuất một lô ván lớn, việc xây dựng một vật cố có thể lập trình lại các bảng đó có thể rẻ hơn nhiều so với việc phải làm lại hoặc xây dựng lại chúng.

Trong một số trường hợp, một cách tiếp cận tốt có thể là chọn bố cục I / O của bảng để các chân điều khiển cần thiết cho việc lập trình lại trong mạch được đưa ra cho các mục đích "tự nhiên" dẫn đến việc chúng tiếp xúc với các điểm tiếp xúc dễ dàng truy cập. Ví dụ, một bảng được thiết kế để sử dụng với các tiếp điểm vòm kim loại có thể có các tiếp điểm được nối với các chân lập trình trong mạch. Thiết kế như vậy sẽ không yêu cầu dành bất kỳ không gian nào trong bố trí cho đầu nối lập trình, nhưng - đặc biệt là nếu tiếp xúc pin cũng có kích thước chung, cho phép đầu nối lập trình có được bằng các tiếp điểm tải lò xo đơn giản.

Lưu ý rằng nó không nhất thiết phải quan trọng nếu mã dường như được kiểm tra tốt; thay đổi từ một đợt chip sang lần tiếp theo vẫn có thể gây ra sự cố không mong muốn. Ví dụ, tôi đã thiết kế một sản phẩm được cho là tự tắt dưới sự kiểm soát của bộ xử lý bằng cách cho đầu ra của bộ xử lý "cao" trên một pin khi nó được cho là "bật". Ở lô 10.000 đơn vị đầu tiên, mọi thứ đều hoạt động tốt, nhưng ở đợt sau, bộ xử lý sẽ bắt đầu gặp trục trặc khi điện áp của nó đạt khoảng 2 volt và có thể chuyển pin trở lại mức "cao"; đầu ra "cao" 2 volt chỉ đủ để bật lại thiết bị. Vì bộ xử lý được chỉ định duy trì ở chế độ ngủ xuống tới IIRC 1.6 volt, có thể khắc phục sự cố bằng cách lập trình lại các thiết bị để chúng vào chế độ ngủ khi kích hoạt trạng thái tắt máy. Nếu việc lập trình lại như vậy là không thể, thì việc làm lại tốn kém hơn nhiều (hoặc nếu không thì loại bỏ và xây dựng lại) sẽ được yêu cầu.

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.