Thông báo

Collapse
No announcement yet.

High Speed Oscilloscope!

Collapse
X
 
  • Lọc
  • Giờ
  • Show
Clear All
new posts

  • #16
    Về Ram bạn nên chọn con SDRam hoặc DDRam cở 32 đến 128Mbyte là có thể lưu được vài s cho tốc độ lấy mẫu cao nhất .Giá thành của 1 con Ram như thế rất rẻ .1 thanh Ram 256Mbyte có đến 8 con 32Mbyte lận .Nhưng bạn nên biết rằng hiện giờ chưa có con PIC nào giao tiếp nổi với SDRam đâu nhé .
    Thiết bị định vị ,hộp đen :

    Comment


    • #17
      Nguyên văn bởi lhq
      Về Ram bạn nên chọn con SDRam hoặc DDRam cở 32 đến 128Mbyte là có thể lưu được vài s cho tốc độ lấy mẫu cao nhất .Giá thành của 1 con Ram như thế rất rẻ .1 thanh Ram 256Mbyte có đến 8 con 32Mbyte lận .Nhưng bạn nên biết rằng hiện giờ chưa có con PIC nào giao tiếp nổi với SDRam đâu nhé .
      Việc ghép nối giữa CPLD và DDRAM máy tính có phức tạp ko các anh nhỉ?

      Comment


      • #18
        Tôi chưa nghiên cứu về CPLD nên chưa trả lời được .Nếu bạn muốn ghép nối với DDRAm thì tốc độ MCU của bạn ít nhất là 67 MIPS cho loại DDRAM200 và 83 MIPS cho loại DDRAM400.Bus data luôn là 16bits cho 1 con Ram rời (1 thanh Ram có 8 con Ram rời) .I/O của DDRAM là 2.5V .Đơn giản thế đấy.
        Thiết bị định vị ,hộp đen :

        Comment


        • #19
          Nguyên văn bởi thaithutrang
          Hihi.. có vẻ anh qmk chưa hiểu cách thức hoạt động của OSC gắn PC.
          Có những cái OSC ghép qua RS232 tốc độ hàng trăm Msps.
          Có những cái OSC ghép qua USB tới hàng Gsps.
          Đây ko phải là cứ ADC lấy 1 mẫu rồi gửi về PC, mà có thể hiểu đơn giản như sau:
          ADC lấy 1 mảng N mẫu rồi gửi về PC, PC xử lý hiển thị xong thì ADC lại lấy tiếp N mẫu...
          Hihi dĩ nhiên là ADC phải gửi N mẫu rồi. Nhưng em có chắc là đó là N mẫu thô và PC sẽ xử lý tìm đồng bộ rồi hiển thị không?
          Đấy là ý tưởng cảm tính của em ??? (Và em cho là em hiểu cơ chế hoạt động của nó)
          Hay em đã thấy ở một PC OSC thực tế ???
          Cho anh một ví dụ thực tế được không? Vì như em thì tóm lại OSC PC chỉ gồm
          - ADC
          - RAM
          - uC
          - Phần mềm (Các chức năng xử lý tín hiệu số ở đây)
          Như vậy giá nó sẽ rất thấp
          Điều em nghĩ ra có thể là một ý tưởng hay nhưng chưa chắc đã đúng trong thực tế. Nó sẽ bao gồm nhiều phần analog khác để trích các dữ liệu bổ sung cho PC thay vì gửi một đống dữ liệu thô theo chu kỳ lên rồi bỏ mặc PC xử lý.

          Nguyên văn bởi thaithutrang
          Có thể dùng cơ chế dual port RAM để tăng tốc chút ít nhưng tựu trưng lại vẫn là cơ chế hiển thị ko liên tục
          Nếu làm như em nghĩ thì dual port RAM cũng chẳng mang lại ý nghĩa gì nhiều.
          Chỉ lấy N mẫu. Thời gian đọc N mẫu này cách rất xa đến lúc lấy N mẫu kế tiếp nên dual port RAM tác dụng gì ở đây.
          Vẫn biết mỗi lần xa là một lần về lại...

          Comment


          • #20
            Nguyên văn bởi lhq
            Tôi chưa nghiên cứu về CPLD nên chưa trả lời được .Nếu bạn muốn ghép nối với DDRAm thì tốc độ MCU của bạn ít nhất là 67 MIPS cho loại DDRAM200 và 83 MIPS cho loại DDRAM400.Bus data luôn là 16bits cho 1 con Ram rời (1 thanh Ram có 8 con Ram rời) .I/O của DDRAM là 2.5V .Đơn giản thế đấy.
            Chưa thấy bạn nói đến phần refresh DRAM nhỉ.
            Đơn giản thế thui hả
            Vẫn biết mỗi lần xa là một lần về lại...

            Comment


            • #21
              Nguyên văn bởi qmk
              Hihi dĩ nhiên là ADC phải gửi N mẫu rồi. Nhưng em có chắc là đó là N mẫu thô và PC sẽ xử lý tìm đồng bộ rồi hiển thị không?
              Đấy là ý tưởng cảm tính của em ??? (Và em cho là em hiểu cơ chế hoạt động của nó)
              Hay em đã thấy ở một PC OSC thực tế ???
              Cho anh một ví dụ thực tế được không? Vì như em thì tóm lại OSC PC chỉ gồm
              - ADC
              - RAM
              - uC
              - Phần mềm (Các chức năng xử lý tín hiệu số ở đây)
              Như vậy giá nó sẽ rất thấp
              Điều em nghĩ ra có thể là một ý tưởng hay nhưng chưa chắc đã đúng trong thực tế. Nó sẽ bao gồm nhiều phần analog khác để trích các dữ liệu bổ sung cho PC thay vì gửi một đống dữ liệu thô theo chu kỳ lên rồi bỏ mặc PC xử lý.



              Nếu làm như em nghĩ thì dual port RAM cũng chẳng mang lại ý nghĩa gì nhiều.
              Chỉ lấy N mẫu. Thời gian đọc N mẫu này cách rất xa đến lúc lấy N mẫu kế tiếp nên dual port RAM tác dụng gì ở đây.
              Vì đơn giản là em đã từng làm hiệu ứng tốt khi đồng bộ khi lấy mẫu 1 tần số và hiển thị một hình sin đứng yên trên PC rồi. Nên đây là lời nói của một người ko cảm tính.
              Anh cũng quên một điều là từ PC có thể gửi ngược lại các tín hiệu điều khiển cho đặc tính lấy mẫu.
              Dual port ram sẽ rất lợi cho tốc độ, bởi một số lý do:
              1-Giảm các khoảng cách nghỉ giữa N mẫu trước và N mẫu kế tiếp. Dù sao thì nếu khoảng nghỉ càng bé càng tốt.
              2-Nghĩ kỹ hơn thì nó rất có lợi khi lấy mẫu với tần số ko cao, khắc phục được tính "ko realtime" của PC trong trường hợp này

              Comment


              • #22
                Nguyên văn bởi thaithutrang
                Vì đơn giản là em đã từng làm hiệu ứng tốt khi đồng bộ khi lấy mẫu 1 tần số và hiển thị một hình sin đứng yên trên PC rồi. Nên đây là lời nói của một người ko cảm tính.
                Anh cũng quên một điều là từ PC có thể gửi ngược lại các tín hiệu điều khiển cho đặc tính lấy mẫu.
                Dual port ram sẽ rất lợi cho tốc độ, bởi một số lý do:
                1-Giảm các khoảng cách nghỉ giữa N mẫu trước và N mẫu kế tiếp. Dù sao thì nếu khoảng nghỉ càng bé càng tốt.
                2-Nghĩ kỹ hơn thì nó rất có lợi khi lấy mẫu với tần số ko cao, khắc phục được tính "ko realtime" của PC trong trường hợp này
                anh không nói là PC kô làm đc chuyện đó nhưng vấn đề cân bằng giữa lập trình phức tạp (vì osc đo các xung kô sin khác) với phần cứng bổ xung thì anh nghĩ mọi người chọn cách hai. Còn ý tưởng em hay đấy chứ nếu kết hợp thêm một số thông tin, và phản hồi.

                Thứ nhất là em tính số mẫu truyền lên với tốc độ truyền về máy tính và tốc độ đọc/ghi RAM em sẽ thấy "càng bé càng tốt" là bao nhiều và có cần phải dùng đến dual port hay kô.
                Vẫn biết mỗi lần xa là một lần về lại...

                Comment


                • #23
                  DDRAM và SDRAM có chế độ Auto & Self refresh .Nói chung dù có auto hay không cũng chẳng sao vì nó chỉ là một function thôi .Chỉ cần tốc độ CPU của bạn đủ lớn thì lệnh nào cũng thực hiện được .
                  Thiết bị định vị ,hộp đen :

                  Comment


                  • #24
                    Em 3T nói rất đúng! Cái mà chúng ta nhìn thấy trên màn hình không phải là tất cả dữ liệu mà ADC tạo ra. Nó chỉ đơn thuần là hình ảnh về dạng sóng mà Oscillo truyền về thôi. Thực ra dữ liệu bạn nhận về PC chỉ là dữ lệu về dạng sóng trong khoảng thời gian một ô cửa sổ màn hình mà bạn nhìn thấy. Theo tôi tính toán thì với khung hình 60 frame/s thì cần tốc độ cho mỗi kênh là 60KByte /s.Vậy nếu 2 kênh thì là 120KByte/s. Tốc độ này nằm trong dải của chuẩn UART16550.
                    Cũ người mới ta!

                    Comment


                    • #25
                      Nguyên văn bởi lhq
                      Tôi chưa nghiên cứu về CPLD nên chưa trả lời được .Nếu bạn muốn ghép nối với DDRAm thì tốc độ MCU của bạn ít nhất là 67 MIPS cho loại DDRAM200 và 83 MIPS cho loại DDRAM400.Bus data luôn là 16bits cho 1 con Ram rời (1 thanh Ram có 8 con Ram rời) .I/O của DDRAM là 2.5V .Đơn giản thế đấy.
                      Anh lhq có nhầm không đấy? Với DDRAM thì MCU thông thường không thể giao tiếp trực tiếp được vì tốc độ xung Clock là 200Mhz và MCU thông thường không có chế độ DDR (Double Data Rate) trên mỗi chân của nó. thông thường để giao tiếp được thì phải sử dụng FPGA làm trung gian điều khiển giữa DDRAM và MCU.Khi bác sử dụng MicroBlaze thì trong Core của nó đã hỗ trợ giao diện với DDRAM rồi. Trong trường hợp này thì kể cả tốc độ MCU có là 1 ips cũng không ảnh hưởng gì cả!
                      Cũ người mới ta!

                      Comment


                      • #26
                        Nguyên văn bởi thaithutrang
                        Việc ghép nối giữa CPLD và DDRAM máy tính có phức tạp ko các anh nhỉ?
                        Việc ghép nối giữa CPLD với DDRAM thực hiện không khó! Tuy nhiên theo khuyến cáo nên dùng họ CoolRunner vì nó có hỗ trợ DDR trên mỗi chân.Như vậy tài nguyên hệ thống sẽ không bị lãng phí và tốc độ hệ thống được tăng cao!
                        Cũ người mới ta!

                        Comment


                        • #27
                          Nguyên văn bởi thaithutrang
                          Tín hiệu ANAlog out thì nên lấy từ PWM--RC của PIC, như thế sẽ tiết kiệm được linh kiện.
                          Như vậy tiết kiệm linh kiện nhưng không dùng được do sử dụng ADC kiểu PWM sẽ gây nhiễu (do đặc tuyến đóng mở của PIC) mà OSC thì cần phải chính xác trong khâu Triger!
                          Cũ người mới ta!

                          Comment


                          • #28
                            Nếu sử dụng FPGA thì có thể sử dụng SDRAM hoặc DDRAM. Tuy nhiên bên trong FPGA có RAM nội và có thể sử dụng nó mà không cần thêm RAM ngoài.
                            Cũ người mới ta!

                            Comment


                            • #29
                              Nguyên văn bởi thaithutrang
                              Nếu chọn CPLD thì em nghĩ gặp vấn đề RAM, em cũng ko thấy anh nói đến việc ghép RAM. Nữa là anh ko thể lấy 1 mẫu xong bắt PIC nhận luôn bởi ko PIC ko đủ tốc. Bởi thế chỉ có cách khối FPGA nhận một mảng N dữ liệu rồi từ từ chuyên sang PIC. Nên chăng anh chọn các con FPGA tốt nhất kiểu Dual port RAM sẽ thích ứng với ứng dụng này hơn.
                              Chọn nấc thang đo thì dùng analog sw + DAC sẽ được dải đo rộng hơn, hay hơn, mềm dẻo hơn.
                              Dùng Dual port RAM là giải pháp tốt để thực hiện giảm thời gian đọc ghi số liệu trên cùng một kênh. Tuy nhiên nếu với FPGA đã có RAM bên trong thì giải pháp dùng FITO (First In Through Out) có vẻ hay hơn vì dữ liệu có thể lấy ra ở đầu ra mà không phụ thuộc xung nhịp Clock đầu vào. Như vậy có thể trực tiếp đưa số liệu đến PIC!
                              Dùng Analog sw thì gây nhiễu và điện trở nội của các IC analog sw có thể gây ảnh hưởng không tốt đến phép đo. Nhưng với ứng dụng này có thể chấp nhận giải pháp của em 3T để giảm giá thành!
                              Cũ người mới ta!

                              Comment


                              • #30
                                Đến đây phương án sử dụng CPLD +MCU để thiết kế Oscilloscope có vẻ không được tốt và thực tế sẽ gây tăng giá thành do phải mua RAM tốc độ cao (Không phải SDRAM và DDRAM). Vậy chúng ta chuyển qua sử dụng FPGA với RAM nội bên trong (là đủ nếu không cần ghi lại dạng tín hiệu). Vậy khâu chọn linh kiện có thể thay đổi một chút như sau:
                                - thay CPLD +RAM ngoài = FPGA (spartan 3) (đã có RAM bên trong)
                                - Thay relay bằng analog sw +DAC (sáng kiến của 3T)
                                Cũ người mới ta!

                                Comment

                                Về tác giả

                                Collapse

                                phanbobo Tìm hiểu thêm về phanbobo

                                Bài viết mới nhất

                                Collapse

                                Đang tải...
                                X