Phiên bản mã hóa hoặc cấu hình trên PCB


10

Tôi cần mã hóa thông tin về phiên bản hoặc cấu hình trên bo mạch / điện, để phần sụn có thể phát hiện bố cục bảng nào được sử dụng.

Những lựa chọn có thể và pro / cons của họ là gì?


1
Cũng có câu hỏi này từ một lúc trước, câu trả lời tương tự như câu trả lời đã được đưa ra (rất tốt!): Electronics.stackexchange.com/questions/41757/
phỏng

Câu trả lời:


14

Ra khỏi đầu tôi, hai giải pháp dễ dàng xuất hiện trong đầu tôi.

  1. n dòng được gắn vào GPIO của vi điều khiển của bạn. Buộc những mức cao hay thấp tùy thuộc vào phiên bản bảng của bạn. Điều này sẽ cung cấp cho bạn tùy chọn cấu hình bảng. Điều này sẽ sử dụng n chân trên vi điều khiển của bạn. Vẽ hiện tại tĩnh sẽ không đáng kể.2n
  2. Có đầu vào cho ADC của vi điều khiển và sử dụng bộ chia điện áp với các giá trị khác nhau tùy thuộc vào cấu hình bảng. Điều này sẽ chỉ sử dụng một chân vi điều khiển duy nhất. Điều này có nhược điểm là sẽ có dòng tĩnh vẽ qua dải phân cách. Nó cũng sẽ dễ bị lỗi BOM, trong khi gợi ý đầu tiên là cứng cáp với bảng.

Cả hai gợi ý này đều có một điểm yếu là người dùng cuối có thể dễ dàng thay đổi chúng, nói rằng để mở các tính năng "bị khóa". Điều này có thể không phải là một mối quan tâm cho bạn, nhưng một cái gì đó để ghi nhớ.


1
Ngoài ra còn có sự kết hợp của [1] và [2]. Bạn có thể sử dụng một chân của vi điều khiển cho ADC, nhưng sử dụng cùng một thành phần giá trị được kết nối song song để tạo thành một bộ chia điện áp. Vì vậy, ví dụ bạn có thể có bốn điện trở 10k tạo thành 10k / float (kéo đến vcc), float / 10k (kéo đến gnd), 10k / 10k (vcc / 2), 5k / 10k (2/3 vcc), 10k / 5k (1/3 của vcc). Vì vậy, trong ngắn hạn: một dòng trong BOM, chỉ cần số lượng khác nhau và một đầu vào ADC. Nó cũng giúp trực quan.
Socrates

2
Bạn có thể thoát khỏi bản vẽ dòng tĩnh của giải pháp ADC nếu bạn có thể sử dụng chân thứ hai: Thay vì bộ chia điện áp giữa VCC và GND, hãy thay thế VCC hoặc GND bằng pin thứ hai - bạn chỉ cần đọc cấu hình bảng một lần , khi bắt đầu chương trình, hãy đặt chân cao / thấp theo yêu cầu để bật bộ chia điện áp, thực hiện phép đo ADC, sau đó chuyển đổi pin sao cho cả hai đầu của bộ chia điện áp có cùng tiềm năng và không có dòng điện.
Aleksi Torhamo

1
Phiên bản GPIO cũng dễ bị lỗi BOM, vì thông thường, phiên bản này được cấu hình với các liên kết zero ohm. Bạn có thể làm điều đó trong sơ đồ và bố trí, nhưng điều đó tốn kém hơn ( chi phí thời gian bố trí ).
Graham

1
Re-ADC, đây là những gì chúng tôi đã sử dụng trên các sản phẩm nơi tôi hiện đang làm việc. Bạn phải cẩn thận với dung sai điện trở mặc dù. Nếu hai điện trở của bạn có dung sai 1%, điện áp có thể lên tới 2%, do đó, nhiều nhất bạn có thể giải quyết 50 bước. Trong thực tế, an toàn hơn để giảm một nửa điều đó. Vì vậy, nếu bạn có 1% điện trở và phạm vi 5V trên ADC của mình, bạn muốn các phiên bản được báo cáo theo các bước 0,2V.
Graham

9

Tôi đã sử dụng một thanh ghi thay đổi với các chân được buộc cao và thấp để mã hóa sửa đổi bảng trước đây, nếu bạn đã sử dụng SPI cho một cái gì đó trên bảng của bạn thì việc đọc nó là chuyện nhỏ.

Nếu bạn cần có thể thay đổi ID trong thời gian chạy thì sử dụng jumper thay vì buộc các đầu vào bằng dấu vết sẽ là một ý tưởng tốt.


Tôi đã googling cho IC biến thể số sê-ri silicon không độc đáo, nhưng đây là một thay thế thông minh. Đặc biệt nếu bạn kết hợp nó với một bộ mở rộng IO dây đơn.
Jeroen3

7

Một số tùy chọn tôi có thể nghĩ ra: -

Liên kết điện trở SM PADS / O OHM. Sử dụng hệ thống nhị phân cho cấu hình phần cứng để giảm số lượng pin cho bộ xử lý của bạn.

Nhảy cầu. Bảng mạch sẽ kết nối các chân kết nối 2xN thêm một nút nhảy vào chân phải sẽ cho phép bạn chọn cấu hình của mình. Một sai lầm dễ giải quyết hơn. Điều này có thể tốn kém một chút và sử dụng nhiều không gian bảng hơn tùy thuộc vào người nhảy.

Nếu bạn có EEPROM trên bo mạch thì có thể bạn có thể nhúng cấu hình vào bộ nhớ.

Bạn có thể tự thay đổi phần sụn bằng cách sử dụng #define hoặc tương tự không? Sau đó, bạn không cần không gian bảng và chân bổ sung để phát hiện phiên bản.


1

EEPROM một dây là một giải pháp tốt vì chúng chỉ yêu cầu một GPIO nhưng có thể lưu trữ một lượng lớn thông tin cấu hình. Chúng cũng cho phép vi điều khiển ghi thông tin đó trong quá trình kiểm tra bảng (ví dụ: dữ liệu hiệu chuẩn). Nhiều người có pin bảo vệ ghi hoặc bit lập trình một lần để ngăn thay đổi thêm.

Các ưu điểm khác bao gồm các tính năng hữu ích như số sê-ri duy nhất được đảm bảo.

Tùy chọn này được sử dụng trong nhiều hệ thống, chẳng hạn như đầu dò dao động và pin, do chỉ cần một dòng dữ liệu duy nhất. EEPROM thậm chí có thể được cấp nguồn từ chính dòng dữ liệu.

Nhược điểm chính là chi phí. Chi phí không cao, nhưng trên các sản phẩm được sản xuất hàng loạt, một vài xu có thể quan trọng.

Một ví dụ về EEPROM như vậy là DS2431, lưu trữ 1kb.

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.