Một cách là để mỗi thẻ có một cổng đầy các chân nhảy chạy đến một ổ cắm cắm vào bo mạch chủ. Các chân nhảy này được kết nối với nhau bằng các kết nối cứng trên bo mạch chủ, là duy nhất cho từng vị trí ổ cắm. Bằng cách đó, mỗi bảng sẽ tự động biết ổ cắm nào được cắm vào và bạn có thể tìm ra cách nào đó để chủ nhân thu thập thông tin đó từ thẻ. Nếu bạn chỉ có một vài vị trí thì đây có lẽ là đơn giản và đáng tin cậy nhất.
-
Một cách khác là có các dòng CHỈ chạy giữa các thẻ liền kề để các thẻ có thể phát điện thoại và tự đếm, nhưng điều đó sẽ không hoạt động với các khe bị bỏ qua. Phương pháp này yêu cầu một cái gì đó để bắt đầu quá trình đếm ngược, chẳng hạn như thẻ chính hoặc thẻ "biết" đó là thẻ đầu tiên (có thể là một nút nhảy được kết nối khi cắm vào khe đầu tiên của bo mạch chủ hoặc chỉ là một nút nhảy bạn thủ công tự kết nối trên thẻ nếu không có bo mạch chủ).
Bạn cũng cần thẻ cuối cùng để biết đó là thẻ cuối cùng. Bạn có thể sử dụng một trong hai phương pháp nhảy vừa được đề cập, nhưng bạn cũng có thể chỉ sử dụng thời gian chờ để xác định thẻ cuối cùng (nghĩa là nếu bảng hiện tại cố gắng giao tiếp với bảng tiếp theo và không nhận được phản hồi và hết thời gian, nó sẽ hết có thể cho rằng đó là thẻ cuối cùng).
Phương pháp này hoạt động tốt nhất khi bạn có một chuỗi thẻ liên tục với số lượng rất lớn hoặc tùy ý. Tôi đã sử dụng phương pháp này trong một dự án để tôi có thể xếp chồng nhiều PCB giống nhau (không có bo mạch chủ, chỉ có các đầu nối trên bo mạch để tôi có thể liên tục xếp PCB lên nhau) như tôi muốn và tất cả đều tự đếm và biết chính xác nơi họ đang ở trong ngăn xếp.
Phương pháp này cũng không có trí tuệ nếu bạn đã có một kết nối nối tiếp chuyên dụng chạy riêng giữa các thẻ liền kề vì nó không yêu cầu phần cứng bổ sung.
-
Và một cách khác (về mặt lý thuyết) là sử dụng hai đường tín hiệu từ tổng thể rơi vào từng ổ cắm khi nó đi ngang qua. Một dòng không bị xóa trong khi dòng thứ hai có một dòng trễ giữa thả vào mỗi ổ cắm. Bậc thầy gửi một xung xuống cả hai dòng cùng một lúc và mỗi thẻ đo chênh lệch thời gian giữa dòng bị trễ và dòng không bị xóa. Điều này cho phép nó biết nó ở xa đến mức nào và do đó cho nó biết nó được đặt ở vị trí nào. Từ đó, thẻ có thể sử dụng thông tin thời gian được xác định trước để biết vị trí của chúng trên đường hoặc chúng có thể thốt ra từ xa họ là chủ và chủ có thể sắp xếp trình tự thực tế của họ (nếu khoảng cách hoặc độ trễ không chắc chắn vì bất kỳ lý do gì). Phương pháp này có thể mất ít chân nhất trên ổ cắm (chỉ hai). Vấn đề chính tôi nghĩ là thực sự tìm thấy một thành phần dòng trễ phù hợp. Bạn có thể muốn một cái ít nhất là hàng chục micro giây.
Ưu điểm chính của phương pháp này là bạn có thể bỏ qua các ổ cắm và vẫn chỉ cần thêm 2 chân cắm thêm cho số lượng thẻ rất lớn (bị giới hạn bởi lỗi thời gian tích lũy do các biến thể trong các khối trễ khi bạn đi xa hơn và đi xuống chuỗi .
mô phỏng mạch này - Sơ đồ được tạo bằng CircuitLab