Lỗi mạch nguồn thẻ micro SD


7

Sự miêu tả

Tôi đang thiết kế một hệ thống trong đó có một mạch điều khiển nguồn được cấp cho thẻ micro SD (bật / tắt).

Mạch như sau:

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

Mạch điều khiển công suất được thực hiện bởi P-MOSFET được tắt theo mặc định.

Tín hiệu MICROSD_PWR_EN được kết nối với chân của vi điều khiển được cấu hình là cống mở.

Vấn đề

Điện áp đo được trên chân VDD của thẻ micro SD phải là 0V theo mặc định. Tuy nhiên, điện áp này gần + 1V, không phải là logic "0" cũng không phải là logic "1". Điện áp đo được trên nút "+ 3.3V" là + 3.288V và điện áp đo được trên cổng của P-MOSFET Q5 là + 3.285V.

Bạn có bất cứ ý tưởng liên quan đến vấn đề này?

Điều đó có thể liên quan đến sự khác biệt 3mV giữa nguồn và cổng của bóng bán dẫn?

Giải pháp phần mềm

Trước tiên, cảm ơn tất cả các câu trả lời của bạn.

Có vẻ như tôi đã giải quyết vấn đề bằng phần sụn: bằng cách định cấu hình GPIO của thẻ SD là đầu ra mở và bằng cách đặt chúng thành logic "0", điện áp trên chân VDD của thẻ SD hiện ở mức gần 0V.

Như mọi người đã chỉ ra, nó có thể liên quan đến điốt bảo vệ của GPIO chip thẻ SD.


Tôi tự hỏi nếu nó được tự cấp nguồn ở một mức độ nào đó bởi các điện trở kéo lên? Có lẽ hãy thử loại bỏ chúng tạm thời nếu điều đó đủ dễ và nếu trường hợp đó kết nối chúng sau FET.
PeterJ

Google 'điốt bảo vệ'. Nhưng tôi nghĩ việc chuyển đổi năng lượng như thế này có thể dẫn đến mất dữ liệu. Điều gì nếu bạn chuyển đổi năng lượng trong khi thẻ đang ghi dữ liệu nội bộ? Thay vào đó, bạn có thể thao tác dòng _DETECT không?
đánh dấu

@markrages Trong hệ thống của tôi, chỉ có quyền truy cập đọc vào thẻ SD. Vì vậy, không có trường hợp nào dữ liệu có thể bị mất. Lý do để sử dụng điều khiển nguồn này là để đảm bảo khi bắt đầu hệ thống, thẻ ở trạng thái chính xác bằng cách buộc tắt nguồn sau đó bật nguồn. Tôi đã thấy thẻ SD ở trạng thái không xác định sau khi khởi động hệ thống và tôi muốn tránh điều này.
johsey

Câu trả lời:


5

Phần dư + 1V mà bạn đang thấy đang bị sai lệch trên các chân tín hiệu khác với thẻ uSD. Dòng điện chuyển từ các mức cao trên các chân I / O của vi điều khiển được kết nối tại giao diện SDIO hoặc qua các điện trở 47K mà bạn có trên các dòng này vào chip điều khiển trong thẻ uSD. Từ đó, nó đi qua mạng bảo vệ đầu vào trên các chân này đến chân VDD của thẻ uSD nơi bạn thấy nó xuất hiện ở cấp 1V.

Bạn có thể khắc phục tình trạng này bằng cách làm theo các bước dưới đây:

1) Kết nối phía đường dây cung cấp của điện trở pullup với VDD đã chuyển đổi của thẻ uSD.

2) Bất cứ khi nào phần sụn vi điều khiển đi để đặt tín hiệu MICROSD_PWR_EN ở mức cao để tắt nguồn điện, đặt tất cả các chân đầu ra của giao diện SDIO ở mức thấp bằng cách xuất các giá trị 0 bit cho các bit đăng ký cổng của chúng. Lưu ý rằng trong một số trường hợp SDIO được bật cho thiết bị ngoại vi trên bo mạch chuyên dụng trên vi điều khiển, có thể cần phải đặt các chân đầu ra này trở lại chế độ GPIO để cho phép FW giành quyền kiểm soát các chân.

3) Đối với bất kỳ tín hiệu nào là đầu vào của vi điều khiển từ giao diện SDIO, bạn cần sắp xếp để các tín hiệu này chuyển đến mức thấp bất cứ khi nào vi điều khiển đặt tín hiệu MICROSD_PWR_EN ở mức cao. Điều này có thể được thực hiện bằng một trong hai cách. Bạn có thể thay đổi điện trở pullup 47K thành kéo xuống trên các đường cụ thể này. Mặt khác, các chân đầu vào có thể được lập trình trở lại chế độ GPIO và sau đó được đặt làm đầu ra ở mức thấp. Điều này sau có thể dễ dàng hơn kể từ đó các chân I / O được xử lý giống như các chân đầu ra.

Tại thời điểm đó, vi điều khiển sẽ kích hoạt lại nguồn điện uSD bằng cách đặt tín hiệu MICROSD_PWR_EN ở mức thấp, phần sụn sẽ được ghi để cấu hình lại tất cả các chân giao diện SDIO trở lại chế độ hoạt động bình thường.


0

Rất có khả năng những gì bạn đang đo là dòng rò từ các dòng pic và điện trở kéo lên tạo ra một điện áp nhỏ trên các chân khác và do điốt bên trong trong thẻ SD, nó bị rò rỉ qua chân nguồn.

Bạn có thể đang đo điện áp đó với một vôn kế trở kháng cao. Hãy thử đặt 100k ohms từ chân Vdd xuống đất - nó có làm giảm điện áp này không?

Rò rỉ thông qua FET cũng có thể có ý nghĩa với các trở kháng cao này.


Tôi đã đặt điện trở 100K giữa chân VDD của thẻ SD và mặt đất, điện áp đo được lớn hơn trước (+ 2,45V).
johsey
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.