Bố trí tín hiệu hỗn hợp PCB cho PSoC


16

Tôi đang phát triển PCB cho một ứng dụng cảm biến tương tự. Nó sử dụng ADC nội bộ trên PSoC3. Như thường lệ, ứng dụng rất hạn chế về không gian (11mm x 21mm), vì vậy tôi đã phải thực hiện một số thỏa hiệp trong cách bố trí PCB mà tôi sẽ không thực hiện trên PCB lớn hơn.

PCB PSoC

Bảng mạch được cung cấp bởi 6v quy định, và chứa hai bộ điều chỉnh tuyến tính 5v. Một MCP1702 cho nguồn cung cấp kỹ thuật số và MIC5205 cho nguồn cung cấp tương tự. Bảng mạch đang cảm nhận năm cảm biến hiệu ứng Hall A1324 . Mỗi tín hiệu đầu ra hiệu ứng Hall được lọc bằng bộ lọc RC 100nF + 1k. Một cảm biến nằm trên chính PCB (phía dưới bên phải). 4 đầu còn lại cắm vào đầu nối 6 chân bên phải.

Con chip này hoạt động như một nô lệ SPI, nhưng các mẫu ADC luôn được thực hiện giữa các giao dịch SPI, vì vậy SPI không nên can thiệp vào các tín hiệu tương tự.

Đáng buồn thay, tôi vẫn thấy một số nhiễu (khoảng 1,5 LSB ở mức 12 bit) trên các tín hiệu tương tự, và tôi tự hỏi liệu có bất cứ điều gì tôi có thể làm khác đi trong cách bố trí để cải thiện nó không.

Giao diện PSoC

Vui lòng mở hình ảnh trong một tab mới để xem nó ở độ phân giải cao hơn.


Thêm:

Các thiết kế PCB khác tôi đã thực hiện bằng MCP3208 và cùng nguồn cung cấp 5v kép, cùng cảm biến và cùng bộ lọc RC đã không đạt được tiếng ồn đáng chú ý nào ở 12 bit.

ADC trên PSoC3 là loại sigma delta. Phiên bản PSoC này được giới hạn ở 12 bit, nhưng một số phần khác có ADC 16 bit (mặc dù với tốc độ mẫu thấp hơn).

Tôi quan tâm đến tiếng ồn và thực sự muốn đẩy nó xa hơn một chút về phía 12 ENOB. Lý do không phải là độ chính xác, mà là đo vận tốc. Hiện tại mức độ tiếng ồn này đang khiến cho việc điều khiển vị trí và vận tốc chính xác trên robot không thể thực hiện được.


Thêm:

Sơ đồ. Xin lỗi, nó hơi chật chội, nhưng bạn chỉ có thể đọc các giá trị.

Sơ đồ PSoC


1
Ngoài ra, DỪNG SỬ DỤNG NET-LABELS! Mạch của bạn không đủ phức tạp để yêu cầu chúng, và do không thực sự hiển thị các kết nối, bạn làm cho việc theo dõi các kết nối khó khăn hơn nhiều. Một lần nữa, mục đích của sơ đồ là làm cho chức năng và chức năng dự định của mạch rõ ràng . Sau đó, bạn để máy tính dịch biểu diễn trực quan sang bố cục vật lý thực tế của các thiết bị (đó là thứ mà máy tính rất giỏi).
Sói Connor

1
@Rocketmagnet - Chúng chắc chắn hữu ích cho người vẽ mạch . Họ hoàn toàn gớm ghiếc cho những người khác .
Sói Connor

1
Ngoài ra, nếu bạn gặp vấn đề với việc cần định tuyến dây do hạn chế về không gian, bạn rất cần xem xét các chức năng hoán đổi pin trong Altium. Về cơ bản, bạn có thể chỉ định các chân có thể hoán đổi chức năng trong định nghĩa thành phần (các chân IO khác nhau của IE), và sau đó khi bạn định tuyến PCB, bạn có thể chạy dấu vết đến bất kỳ chân nào hoạt động, thay vào đó chỉ là một chân bạn đã chỉ định trong sơ đồ. Sau đó, bạn có thể đồng bộ hóa định tuyến bạn đã chọn trong PCB với sơ đồ.
Sói Connor

1
@FakeName, trong khi kết nối với các nhãn có thể khiến việc theo dõi mạch trở nên khó khăn hơn, việc vẽ lại mọi biểu tượng để tạo sơ đồ thuần túy & sạch sẽ với các đường thẳng đẹp có thể dễ dàng tăng gấp bốn lần thời gian để thực hiện sơ đồ. Tôi muốn thấy một sơ đồ hoàn hảo, tôi không chắc nó thực tế để yêu cầu một sơ đồ.
Photon

1
@Rocketmagnet, Có một khu vực pcb rất nhỏ không có nghĩa là bạn không thể vẽ sơ đồ của mình trên giấy cỡ D.
Photon

Câu trả lời:


13

Bạn sẽ luôn có một số nhiễu trên ADC, đặc biệt là các loại SA (xấp xỉ liên tiếp) trên bộ vi điều khiển. Sigma-delta hoạt động tốt hơn đối với nhiễu Gaussian, vì chúng tích hợp nó. Đừng mong đợi 12 ENOB từ ADC 12 bit.

Tiếng ồn của bộ điều khiển là lý do tại sao hầu hết các bộ vi điều khiển không cung cấp cho bạn độ phân giải cao hơn 10 bit, và AVR cung cấp khả năng dừng bộ vi điều khiển trong quá trình mua lại ADC, điều này sẽ xác nhận rằng ít nhất một số nhiễu phát ra từ bộ điều khiển .

Nhưng câu hỏi là: bạn có quan tâm không? Tiếng ồn 1,5 bit trên ADC 12 bit vẫn để lại cho bạn nhiều hơn 10 bit, hoặc tốt hơn 0,1%. Làm thế nào chính xác là cảm biến Hall của bạn? Các thành phần khác trong mạch?

chỉnh sửa
Bạn dường như sử dụng bộ dao động bên trong của PSoC, vì tôi không thấy bất kỳ tinh thể nào trên sơ đồ. Có vẻ ổn: bạn có sự tách rời thích hợp. Ngoài đồng hồ bên trong, phần tốc độ cao duy nhất trong mạch dường như là SPI, nhưng bạn nói rằng điều này sẽ im lặng trong các phép đo. Phần còn lại của bo mạch là DC hoặc có lẽ tương đối thấp thường xuyên như các cảm biến hiệu ứng Hall. Và đó là Damn Small ™, cũng giúp: các dấu vết ngắn hơn sẽ thu được ít tiếng ồn hơn. Chắc chắn rằng tôi có thể hiểu được về MCP1702, mà tôi sẽ xoay 90 ° CCW để tụ điện đầu ra có thể được đặt gần hơn với các chân, nhưng điều đó sẽ không giải quyết được vấn đề.

Tôi chỉ thấy một thay đổi trong bố cục có thể cải thiện tỷ lệ S / N của bạn:

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

Trong bảng dữ liệu phân chia mặt phẳng tương tự và kỹ thuật số được đề xuất cho "Hiệu suất tương tự tối ưu" (trang 10).

Đối với phần còn lại: đó là một bảng nhỏ như tôi đã nói, điều đó có nghĩa là dấu vết ngắn và tách rời trong một vài mm. Vì vậy, tôi muốn có một cái nhìn khác về nguồn gốc của tiếng ồn. Nghi ngờ chính là đồng hồ của PSoC. PSoC có thể chạy điện áp cung cấp rất thấp và điều đó sẽ làm giảm tiếng ồn của nó. Tất nhiên nó sẽ giúp ích rất nhiều nếu VDDA cũng phải được hạ xuống, nhưng tôi đã không đọc bất cứ nơi nào trong bảng dữ liệu rằng VDDA không nên cao hơn VDD.

Tiếp theo, ADC. Trên trang 55 của bảng dữ liệu có ghi 66 dB SINAD, đó là 11 bit, gần với những gì bạn nhận được bây giờ. Datasheet A1324 cho chúng ta 7 mVpp tiếng ồn trên một điện áp hoạt động gì là 2,5 V. Đó cũng xa ít hơn so với tỷ lệ 72 dB S / N mà 12-bit có thể cung cấp cho bạn. Bạn có thể cải thiện điều này một chút với bộ lọc bổ sung.

Bạn đề cập đến hiệu suất tốt hơn của MCP3208, nhưng đó là một ADC ra khỏi vi điều khiển và điều đó có thể giải thích làm thế nào một SA ADC có thể làm tốt hơn một sigma-delta có cùng độ phân giải.

Vì vậy, các tùy chọn tôi thấy: hạ thấp điện áp cung cấp điện kỹ thuật số và phân chia cơ sở tương tự và kỹ thuật số.


Đó là một ý tưởng rất thú vị về việc hạ thấp điện áp cung cấp kỹ thuật số của PSoC. VDDA chắc chắn có thể cao hơn VDD.
Rocketmagnet

Vì vậy, bạn có nghĩ rằng tôi nên ngắt kết nối VSSA khỏi miếng đệm nhiệt? Tôi thực sự đã đăng bài này như một câu hỏi hoàn toàn mới .
Rocketmagnet

2

Tôi đông y vơi nhưng điêu trên. Độ ồn 1,5LSB là khá hợp lý. http://www.cypress.com/?docID=39346 hiển thị SINAD tối thiểu 66 dB ở chế độ 12 bit, cho thấy ENOB = 10.7.

Tôi biết đây không phải là câu trả lời trực tiếp cho câu hỏi của bạn, nhưng tôi sẽ diễn giải câu hỏi là "làm thế nào để tôi khắc phục vấn đề của mình bằng điều khiển vận tốc?" và không "Làm thế nào để tôi nhận được hơn 10,5 ENOB?".

Bạn khác biệt như thế nào? Bạn có đủ tích tắc đồng hồ dự phòng để làm một cái gì đó mượt mà hơn so với sự khác biệt trung tâm hai điểm? Có thể tìm ra thứ gì đó rộng 5 mẫu, được tối ưu hóa trong Matlab?

Ngoài ra, điều này nghe có vẻ hơi buồn cười, nhưng tiếng ồn vận tốc trở nên tồi tệ hơn khi bạn lấy mẫu nhanh hơn

1LSBΔt

Không được xúc phạm, nhưng cũng hãy lướt qua để chắc chắn rằng không có gì ngớ ngẩn xảy ra trong kiểm soát vận tốc của bạn, như các vấn đề về chuyển đổi giữa các số nguyên đã ký và không dấu và đảm bảo rằng số nguyên của bạn đủ rộng để tránh các lỗi tràn khi bạn phân biệt . Các phương trình điều khiển của riêng tôi thường trở nên phức tạp đến mức đôi khi tôi thực hiện rõ ràng từng thao tác.

Cuối cùng, mặc dù có lẽ rất có thể, bạn đang mất các bit hiệu quả khỏi đầu bằng cách không khuếch đại đến gần quy mô đầy đủ? Nếu vậy, bạn có thể khuếch đại hoặc có thể cung cấp Vref nhỏ hơn.


Chúng tôi đang tính toán vị trí và vận tốc bằng Bộ lọc Alpha Beta . Tôi hiểu rằng tiếng ồn vận tốc tăng khi tốc độ mẫu tăng nếu được thực hiện một cách ngây thơ. Tôi chắc chắn rằng tiếng ồn vận tốc không phải là do lỗi dấu hiệu. Và chúng tôi đã gần như ở quy mô đầy đủ, vì vậy tôi không thể khuếch đại thêm nữa mà không mạo hiểm chạm đỉnh hoặc đáy của phạm vi.
Rocketmagnet

Bạn có nói rằng không có cải tiến nào tôi có thể thực hiện cho bố cục?
Rocketmagnet

Không thể nhìn thấy gì. Làm thế nào bạn khuếch đại các cảm biến hội trường? Bạn đã thực sự xem đầu ra của các bộ lọc AB và kiểm soát các eqns như một kiểm tra thực tế chưa? Nghe lén tiếng ồn trên cơ quan quản lý của bạn? Nó có thể được chiếu sáng để thực hiện ngân sách tiếng ồn chính thức cho toàn hệ thống
Scott Seidman

1
Nhưng! Ưu điểm khác của chế độ vi sai là nó cho phép tôi tăng tỷ lệ mẫu 4x, do đó tôi có thể thực hiện quá mức. Điều này sẽ làm giảm tiếng ồn xuống một chút.
Rocketmagnet

1
Có thể giới hạn bỏ qua trên Vref (không biết làm thế nào để làm điều đó, trong biểu dữ liệu). Ngoài ra, tôi nghĩ rằng bạn cực kỳ gần gũi, nếu không, ENOB lý tưởng cho ADC PSOC 3 ở mức 12 bit, vì vậy bạn đã làm tốt nhất có thể!
Scott Seidman
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.