Tại sao dạng sóng của tôi bắt đầu trước kích hoạt?


10

Tôi đang học cách phân tích đồng hồ và dữ liệu xe buýt SPI bằng cách sử dụng máy hiện sóng lưu trữ kỹ thuật số cấp nhập cảnh. Tôi đang sử dụng BK Precision 2542B để đo đầu ra của các dòng đồng hồ và MOSI từ Netduino sử dụng vi điều khiển ARM.

Hình ảnh dao động

Trong hình ảnh này, tôi có đồng hồ trên kênh 1 (màu vàng) và MOSI trên kênh 2 (màu xanh). Trình kích hoạt được đặt để sử dụng kênh 1, sử dụng trình kích hoạt cạnh tăng 1,44V. Biên độ sóng vuông của đồng hồ là khoảng 3,3V.

Chỉ báo kích hoạt nằm ở trung tâm của màn hình theo chiều ngang, nhưng tôi có một xung ở bên trái của nó. Tôi đã mong đợi xung đầu tiên của đồng hồ sẽ bắt đầu tại vị trí kích hoạt. Tôi biết rằng một máy hiện sóng lưu trữ kỹ thuật số cho phép bạn xem các sự kiện trước và sau kích hoạt, nhưng tôi bối rối tại sao xung đầu tiên không phải là nơi tôi nghĩ nó sẽ xảy ra.

Là sự hiểu biết của tôi về việc kích hoạt không chính xác, hoặc tôi chỉ đang sử dụng một phạm vi kỳ lạ?

Chỉnh sửa: Mạch xung rộng 300μs, lặp lại trong khoảng thời gian 2ms và tôi có một bộ kích hoạt giữ giá trị 500μs. Điều chỉnh giữ không thay đổi thực tế là một xung trước kích hoạt.

Chỉnh sửa 2:

Sau khi phân tích thêm về tín hiệu, bao gồm cả sử dụng máy hiện sóng tương tự, tôi nghĩ rằng tôi đã xác định rằng đôi khi thời lượng xung là khoảng 350μs thay vì 300s. Đây có thể là một trục trặc trong các khung tạo mã.

Tôi phát hiện ra rằng thời gian chờ là 352 giây sẽ tạo ra kết quả như mong đợi, nhưng cứ sau một xung lại xuất hiện trước kích hoạt.

Giá trị giữ

Tôi đã ghi lại một số khung hình để hiển thị xung cả vắng mặt và hiện tại:

Vắng mặt Hiện tại xung hàng đầu

Nếu tôi đặt cơ sở thời gian theo chiều ngang đủ dài để xem thời lượng của xung, thì luôn có ít nhất 1,7ms giữa chúng:

Xung dữ liệu ở tốc độ 1ms mỗi div

Vì vậy, trong khi tôi nghĩ rằng xung dẫn đầu là kết quả của một "trục trặc" từ nguồn, tôi vẫn không chắc chắn làm thế nào một kích hoạt giữ lại> 360μs vẫn tạo ra xung dẫn bất ngờ.


2
Kiểm tra menu kích hoạt của bạn - bạn có thể kích hoạt xung ở mức thấp trong => một thời gian nhất định và điều này sẽ khớp với ảnh chụp màn hình bạn đã hiển thị. Thay vào đó hãy thử kích hoạt cạnh.
Andy aka

Tôi cũng có một phạm vi "cấp nhập cảnh", Owon SDS7102, và đôi khi nó cũng sẽ bỏ lỡ trình kích hoạt đầu tiên. Hành vi dường như phụ thuộc vào cài đặt thời gian / tốc độ mẫu / bộ nhớ mẫu và tần số của tín hiệu. Có lẽ bạn cũng có thể bị ảnh hưởng bởi cài đặt tốc độ mẫu / thời gian mẫu?
AndrejaKo

1
Tôi đã thấy phạm vi $ 18.000 không thể quay lại và điều chỉnh lại trong vòng dưới 5 ms. Khá buồn, thật đấy. Với khoảng thời gian 2 giây ít nhất đó không phải là vấn đề của bạn.
darron

1
@darron Khi nó xảy ra 2s là một lỗi đánh máy - các xung ở khoảng cách 2ms. Tôi nghĩ rằng phạm vi đang kích hoạt lại kích hoạt đủ nhanh, nhưng các yếu tố khác đang diễn ra như tôi đã đề cập trong bản cập nhật cho câu hỏi.
JYelton

Câu trả lời:


3

Bạn có thể có một số loại lọc kích hoạt hoặc trì hoãn bật. Mặt khác, một bộ kích hoạt cạnh tăng đều đặn nên đã bắt được xung đầu tiên, không phải đợi đến lần thứ hai. Nhìn kỹ thông qua menu kích hoạt và tắt bất cứ thứ gì gọi là "bộ lọc", "độ trễ", "giữ" và tương tự.


Tôi chỉnh sửa câu hỏi. Luồng dữ liệu lặp lại cứ sau 2ms chứ không phải 2 giây. Tôi đã đảm bảo không có tính năng lọc nào được kích hoạt và quá trình kích hoạt bị tắt lâu hơn một chút so với chuỗi xung. Phạm vi tương tự (BK 2190B) của tôi kích hoạt tốt trên xung đồng hồ đầu tiên. Kỹ thuật số, tuy nhiên, luôn luôn bỏ lỡ nó. Tôi không chắc chắn những gì khác để làm ngoại trừ trả lại phạm vi kỹ thuật số, nó dường như không có khả năng.
JYelton

3

Tín hiệu tương tự này cũng kích hoạt tốt khi sử dụng Tektronix TDS3014, với kích hoạt giữ các giá trị trong khoảng từ 350μ đến 1,5ms trở lên.

Kết quả Tek TDS3014

Do đó, tôi nghĩ rằng câu trả lời là kiểm tra tín hiệu chéo với nhiều hơn một phạm vi khi có gì đó không ổn.

Tôi không bao giờ có thể làm cho BK 2542B hiển thị đúng đồng hồ mà không bị mất xung đầu tiên, hoặc hiển thị "sự cố" hoặc "rác" ngẫu nhiên làm cho xung nhịp không thể đếm được.


0

Anh bạn, xe buýt SPI được đồng bộ hóa vào mùa thu của dòng đồng hồ, không phải là sự gia tăng, đó là lý do tại sao mọi thứ trông không đúng chỗ!

Trân trọng, Max


Tôi cá là phạm vi không quan tâm đến cách SPI được đồng bộ hóa, tất cả những gì nó thấy là tín hiệu A và tín hiệu B.
Dmitry Grigoryev

0

Vâng, về mặt kỹ thuật, phạm vi của bạn không làm gì sai: bạn muốn đồng bộ hóa trên cạnh đồng hồ tăng và tất cả các ảnh chụp màn hình của bạn là. Không ai nói với bạn rằng nó sẽ là nhịp đập đầu tiên . Nếu phạm vi bắt đầu ghi đủ sớm, kích hoạt sẽ đạt được xung đầu tiên, nếu không - may mắn khó khăn, bạn sẽ có được hình ảnh # 2.

Điều tôi không thể hiểu được là tại sao bạn muốn kích hoạt CLK chứ không phải tín hiệu SS. Rơi vào SS đảm bảo rằng bạn bắt đầu giao dịch, cạnh CLK tăng thì không.

EDIT: xem xét rằng bạn dường như luôn bỏ lỡ chính xác một xung, có vẻ như đó là một lỗi trong phạm vi. Tuy nhiên, xem nếu kích hoạt trên SS giúp.

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.