Thông báo

Collapse
No announcement yet.

Analog IC design

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

  • Chào anh Rommel.de,

    Em đã thử mô phỏng một mạch không dùng diode zener và dùng cấu trúc MOS như anh nói (mạch em làm là có thiết kế ESD cho tín hiệu nguồn và đất ạ), kết quả cho thấy nó đáp ứng khá tốt. Em muốn hỏi thêm là nếu như vậy mình có cần design thêm, hay có yêu cầu đặc biệt gì khác cho đường signal kết nối với I/O ASIC như trong hình em attach ở bài trên không ạ?

    Comment


    • Nguyên văn bởi Rommel.de Xem bài viết
      Chào bạn ngvanbinh2000

      Để loại bỏ offset thì cách sử dụng các thiết kế tương tự bây giờ không còn phù hợp nữa vì nó có nhiều hạn chế. Thông thường với những mạch cần độ chính xác cao thì người thiết kế thường sử dụng mạch số để căn chỉnh lại các sai số sau khi đã chế tạo ra. Cái này ứng dụng với rất nhiều mạch không chỉ để triệt tiêu offset. Ngoài ra mạch số rất tiện dụng, linh hoạt (có thể làm nhiều kiểu khác nhau, nhiều việc khác nhau) và đồng thời nhiều khi còn nhỏ hơn cả mạch tương tự nếu bạn sử dụng những công nghệ mới (transistor số có kích thước rất nhỏ). Bạn có thể search trên mạng "digital offset cancellation" sẽ thấy có rất nhiều cách. Ngoài ra việc calibration sau khi tape out cũng sẽ làm tăng thời gian test chip làm tăng chi phí chế tạo chip (hình như mỗi phút test chip có giá là 10 cent nhưng tớ không chắc lắm). Vậy nên nhiều người thiết kế thường làm thêm mạch digital autocalibration. Đây là một mạch số dưới dạng FSM khởi động lúc đầu. Ở mỗi trạng thái khác nhau thì FSM đóng/mở các switch để tạo ra các stimuli và kiểm tra kết quả đầu ra. Stimuli có thể là các tín hiệu tương tự như điện áp, dòng... và cũng có thể là các tín hiệu số. Nếu stimuli là tín hiệu số thì trong một số trường hợp người ta có thể sử dụng mạch sinh số giả ngẫu nhiên thay vì lưu trữ tất cả các giá trị stimuli lên ROM khi số lượng stimuli rất nhiều.
      Hi Rommel.de!
      Cám ơn thông tin của bạn.
      Thực tế mình đang làm đồ án cân chỉnh ADC pipeline 10 bit. Trong đồ án này mình thiết kế OPAM 2 tầng dạng nguồn đơn 1.8v, (PMOS) như hình của bạn dvietd207, công nghệ 180nm. Cái OPAM của mình chỉ đóng vai trò làm buffer thôi. làm bộ đệm ngõ ra và vào mạch sample and hold. Nhưng khi mô phỏng với tín hiệu vào là tuyến tính , chu kỳ 20ns, điện áp thấp là 0, cao nhất là 1v , mạch ouput ra bị lệch offset dãi điện áp thấp 0--> 0.5v. (50mV-100mV). Bạn có kiểu mạch hay giải pháp nào để hiệu chỉnh offset cho mạch này ko? Vì cái OPAM của mình còn làm mạch nhân 2 và trừ điện áp analog trong tầm 0-1v nữa. Mình cũng có tham khảo một số bài báo, người ta làm differiantial pair, OPAM phức tạp, đọc hoài ko hiểu. Thank bạn nhiều. Sẵn đây hỏi bạn mạch switch-capacitor. Mạch này mình làm mạch nhân 2 và trừ điện áp tham chiếu hoài ko chạy. tần số clock là 50MHz. Bạn thấy lạm mạch dạng này có họp lý không?

      Comment


      • Chào bạn ngvanbinh200,

        Mình chưa làm mạch pipeline bao giờ, và cũng chưa nghiên cứu về nó, nhưng mình đang làm flash ADC, có thể kĩ thuật tính toán và reduce offset hơi khác nhau, nhưng mình viết ra để cùng chia sẻ và biết đâu những kiến thức ấy giúp bạn được phần nào.
        Offset của mạch flash ADc liên quan trực tiếp đến tầng preamplifier, nên mình tập trung vào việc tính toán đến gain của phần này...(tất nhiên là trong các bài báo có đề cập đến rất nhiều technique khác mình cũng chưa hiểu nên chưa thử áp dụng ), ví dụ 1LSB = 8mV, target for 0.5LSB accuracy, comparator: latch: 5mV/sqrt(W*L) nhé:
        => bắt đầu với requirement cho comparator input-referred offset: 3*sigma(offset) < 0.5LSB = 4mV
        => cộng thêm với preamplifier, gain với latch offset, ta có:
        3*sqrt{sigma(preamp)^2 + sigma(latch)^2/(G^2)} < 0.5LSB
        Như vậy với 3*sigma(latch) ~ 50mV (cái này mình define) và các parameters như trên, thì bạn sẽ tính được G > ~12
        => để giảm size của cặp vi sai tầng preamp, bạn tăng G lên chút, ví dụ 16-20, rồi quay lại công thức trên bạn sẽ tính được sigma(preamp) = 5mV/sqrt(W*L) < ~ hằng số.
        => Bạn sẽ tính toán được thông số quan trọng nhất của tầng này là W và L.

        Mình là sinh viên, nên chưa có kinh nghiệm nhiều nên dùng hand-calculation để ước lượng là chính.
        Mong các anh/các bạn có kinh nghiệm trao đổi thêm!

        Comment


        • Nguyên văn bởi dvietd207 Xem bài viết
          Chào anh Rommel.de,

          Em đã thử mô phỏng một mạch không dùng diode zener và dùng cấu trúc MOS như anh nói (mạch em làm là có thiết kế ESD cho tín hiệu nguồn và đất ạ), kết quả cho thấy nó đáp ứng khá tốt. Em muốn hỏi thêm là nếu như vậy mình có cần design thêm, hay có yêu cầu đặc biệt gì khác cho đường signal kết nối với I/O ASIC như trong hình em attach ở bài trên không ạ?
          Chào bạn Dvietd207,

          Tớ không làm về ESD nên có thể nhiều chiêu đặc biệt tớ cũng không biết hết nhưng tớ thấy mạch bảo vệ ESD trên thực tế mà tớ biết chỉ sử dụng diode và điện trở để bảo vệ như tớ nói. Nhân đây tớ giới thiệu với các bạn một kinh nghiệm thực tế mà tớ biết. Ngày trước có một project mà bên tớ từng làm gắn trực tiếp die lên board để test (không có package). Sau khi kiểm tra thì hầu hết các die đều đã chết. Lúc đầu bọn tớ cũng chưa biết vì sao hóa ra là do ESD mặc dù đã có thiết kế ESD rồi. Nguyên nhân là do khi hàn die lên board người ta không hàn theo thứ tự các chân phù hợp. Khi hàn die lên board trước hết vào ground tất cả sau đó hàn các ground pad từ die lên board trước tiên. Sau đó thì hàn đến các power pad. Cuối cùng mới hàn đến các chân tín hiệu. Nếu như hàn các chân tín hiệu trước thì có thể bị ESD chết ngay lúc đó. Tớ nghĩ đây là một kinh nghiệm hay với mọi người.

          Comment


          • Nguyên văn bởi ngvanbinh200 Xem bài viết
            Hi Rommel.de!
            Cám ơn thông tin của bạn.
            Thực tế mình đang làm đồ án cân chỉnh ADC pipeline 10 bit. Trong đồ án này mình thiết kế OPAM 2 tầng dạng nguồn đơn 1.8v, (PMOS) như hình của bạn dvietd207, công nghệ 180nm. Cái OPAM của mình chỉ đóng vai trò làm buffer thôi. làm bộ đệm ngõ ra và vào mạch sample and hold. Nhưng khi mô phỏng với tín hiệu vào là tuyến tính , chu kỳ 20ns, điện áp thấp là 0, cao nhất là 1v , mạch ouput ra bị lệch offset dãi điện áp thấp 0--> 0.5v. (50mV-100mV). Bạn có kiểu mạch hay giải pháp nào để hiệu chỉnh offset cho mạch này ko? Vì cái OPAM của mình còn làm mạch nhân 2 và trừ điện áp analog trong tầm 0-1v nữa. Mình cũng có tham khảo một số bài báo, người ta làm differiantial pair, OPAM phức tạp, đọc hoài ko hiểu. Thank bạn nhiều. Sẵn đây hỏi bạn mạch switch-capacitor. Mạch này mình làm mạch nhân 2 và trừ điện áp tham chiếu hoài ko chạy. tần số clock là 50MHz. Bạn thấy lạm mạch dạng này có họp lý không?
            Chào bạn Ngvanbinh200,

            Theo như bạn nói thì tớ đoán mạch ADC của bạn làm việc với tín hiệu tần số khá thấp. Nếu tần số đồng hồ là 50 MHz thì về mặt lý thuyết tần số tín hiệu phải nhỏ hơn 25 MHz và trên thực tế có lẽ tần số tín hiệu khoảng 10 MHz là nhiều. Đối với tín hiệu tần số thấp như vậy thì bạn thiết kế ADC theo kiểu pipeline 10 bit có lẽ không hợp lý lắm. Theo như tớ biết thì các tín hiệu tần số thấp như vậy người thiết kế thường hay sử dụng mạch sigma-delta ADC. Mạch này có ưu điểm lớn là phần tương tự rất đơn giản trong khi đó lại có phần xử lý số hoạt động tốt cho việc nén nhiễu. Mạch so sánh cho sigma-delta ADC thường là sense amplifier không phải là op-am thông thường nên hoạt động rất nhanh. Với công nghệ 180nm thì tớ nghĩ bạn cho mạch chạy tần số 1GHz là đủ. Mạch sigma-delta ADC nhờ phần xử lý số phía sau nên nó không chịu nhiều sai số do công nghệ, nhiệt độ... nên toàn bộ sai số rất nhỏ. Phần analog rất đơn giản nên cũng giảm bớt những sai số khác nhau theo kiểu offset. Còn nếu bạn muốn mình đưa ra ý kiến về mạch offset cancellation thì bạn nên lên mạng tìm một thiết kế nào đó rồi làm theo sau đó cho minh xem để đưa ra nhận xét. Những mạch này trên mạng có nhiều lắm tùy yêu cầu khác nhau.

            Comment


            • Nguyên văn bởi Rommel.de Xem bài viết
              Chào bạn Ngvanbinh200,

              Theo như bạn nói thì tớ đoán mạch ADC của bạn làm việc với tín hiệu tần số khá thấp. Nếu tần số đồng hồ là 50 MHz thì về mặt lý thuyết tần số tín hiệu phải nhỏ hơn 25 MHz và trên thực tế có lẽ tần số tín hiệu khoảng 10 MHz là nhiều. Đối với tín hiệu tần số thấp như vậy thì bạn thiết kế ADC theo kiểu pipeline 10 bit có lẽ không hợp lý lắm. Theo như tớ biết thì các tín hiệu tần số thấp như vậy người thiết kế thường hay sử dụng mạch sigma-delta ADC. Mạch này có ưu điểm lớn là phần tương tự rất đơn giản trong khi đó lại có phần xử lý số hoạt động tốt cho việc nén nhiễu. Mạch so sánh cho sigma-delta ADC thường là sense amplifier không phải là op-am thông thường nên hoạt động rất nhanh. Với công nghệ 180nm thì tớ nghĩ bạn cho mạch chạy tần số 1GHz là đủ. Mạch sigma-delta ADC nhờ phần xử lý số phía sau nên nó không chịu nhiều sai số do công nghệ, nhiệt độ... nên toàn bộ sai số rất nhỏ. Phần analog rất đơn giản nên cũng giảm bớt những sai số khác nhau theo kiểu offset. Còn nếu bạn muốn mình đưa ra ý kiến về mạch offset cancellation thì bạn nên lên mạng tìm một thiết kế nào đó rồi làm theo sau đó cho minh xem để đưa ra nhận xét. Những mạch này trên mạng có nhiều lắm tùy yêu cầu khác nhau.
              Chào bạn Rommel.de!
              Đây là nguyên tên đề tài của mình:ERROR COMPENSATION TECHNIQUES FOR PIPELINE AD CONVERTERS
              Vởi các yêu cầu từ như sau:
              •Design a pipeline ADC 10 bit with following requests:
              Sampling rate: 50 MS/s
              Input max frequency: 4MHz
              Input range voltage:0-1V
              Number of resolution bits: 10
              Supply voltage: 1.8 V
              Process: CMOS TSMC 180nm
              •Apply one error compensation technique on pipeline ADC 10 bit and do simulation.
              •Do layout, simulate the whole design in two cases with and without using error compensation technique and write report.
              Mình hiện tại là làm backend-end cho thiết kế số (phần place and route dùng Astro). Đang chuẩn bị chuyển qua ICC.
              Cho nên phần thiết kế analog mình cũng ko có nhiều kinh nghiệm lắm. Phải nói analog làm lâu mới có nhiều kinh nghiệm.
              Mình cũng tham khảo nhiều tài liệu, nhiều bài báo và khá nhiều luận văn về đề tài này. Nhưng có những chổ đọc không hiểu. Đặc biệt là họ dùng OMAP nguồn đôi, phức tạp và thường hơn 2 tầng. Nhiều lần mình cố bắt chước nhưng mô phỏng không ra. Sách về analog thì nhiều nhưng mình cũng hơi lười nên đọc ko bao giờ xong. Chỉ dùng tool (Cadence5141) rồi quét các thông số W (L giữ nguyên) để phân cực,phân tích dc, ac. mình thấy OPAM là phần thiết kế quan trọng nhất. OPAM trong thiết kế của mình đóng vai trò là buffer. Hơn nữa vấn đề bị vướng của mình trong thiết kế này là mạch MDAC(Vout=2*vin-v(dac)), V(dac)=0, 0.5v, 1v tùy theo vin < 0.375V, 0.375v<vin<0.625V,1v> vin> 0.625v. Điện áp ngõ ra của tầng đầu tiên đã có sai số khá lớn 10mv->50mv. Mặc dù cuối cùng có mạch digital corection nhưng số bit resolution chỉ co 5 hoặc 6 trên 10. (với tín hiệu đầu vào là mức dc được quét từ 0,0.1,0.2...1v). Theo bạn thì mạch OPAM 2 tầng (dạng PMOS) phù hợp không? lúc mình học thì thầy chỉ tính toán các thông số OPAM ở công nghệ 0.6um nhưng khi làm công nghệ 0.18u thì ko có đủ thông số để tính nên mình ít tính toán. Bạn có thể chia sẽ cách tính cũng như ướt lượng thông số trong mạch analog ở công nghệ thấp này ko? một vấn đề nữa là mạch MDAC, mình dùng mạch charge-pump thì bị sai số lớn nhưng tín hiệu qua các tầng thì trong giới hạn biên độ điện áp. Còn khi dùng dạng mạch điện trở+OPAM thì sai số tại một tầng thấp nhưng tín hiệu qua các tầng thì sai sô vượt quá biên độ điện áp. Còn dùng dạng mạch switch-capacitor thì không chạy (cái này các bài báo hay dùng+ OPAM nguồn đôi). Bạn có thể chỉ mình loại mạch nào phù hợp trong thiết kế này ko? thanks

              Comment


              • Nguyên văn bởi dvietd207 Xem bài viết
                Chào bạn ngvanbinh200,

                Mình chưa làm mạch pipeline bao giờ, và cũng chưa nghiên cứu về nó, nhưng mình đang làm flash ADC, có thể kĩ thuật tính toán và reduce offset hơi khác nhau, nhưng mình viết ra để cùng chia sẻ và biết đâu những kiến thức ấy giúp bạn được phần nào.
                Offset của mạch flash ADc liên quan trực tiếp đến tầng preamplifier, nên mình tập trung vào việc tính toán đến gain của phần này...(tất nhiên là trong các bài báo có đề cập đến rất nhiều technique khác mình cũng chưa hiểu nên chưa thử áp dụng ), ví dụ 1LSB = 8mV, target for 0.5LSB accuracy, comparator: latch: 5mV/sqrt(W*L) nhé:
                => bắt đầu với requirement cho comparator input-referred offset: 3*sigma(offset) < 0.5LSB = 4mV
                => cộng thêm với preamplifier, gain với latch offset, ta có:
                3*sqrt{sigma(preamp)^2 + sigma(latch)^2/(G^2)} < 0.5LSB
                Như vậy với 3*sigma(latch) ~ 50mV (cái này mình define) và các parameters như trên, thì bạn sẽ tính được G > ~12
                => để giảm size của cặp vi sai tầng preamp, bạn tăng G lên chút, ví dụ 16-20, rồi quay lại công thức trên bạn sẽ tính được sigma(preamp) = 5mV/sqrt(W*L) < ~ hằng số.
                => Bạn sẽ tính toán được thông số quan trọng nhất của tầng này là W và L.

                Mình là sinh viên, nên chưa có kinh nghiệm nhiều nên dùng hand-calculation để ước lượng là chính.
                Mong các anh/các bạn có kinh nghiệm trao đổi thêm!
                Chao bạn Dvietd207!
                Cám ơn sự chia sẽ của bạn.
                Do mình ko co thời gian thiết kế trong linh vực này . Mình lại làm lĩnh vực khác nên các công thức tính mình cũng ít để ý. CHỉ dùng tool là chính.
                Để mình dành ít thời gian đọc lại sách về các công thức tính sẽ rút ngắn dc nhìu thời gian hơn.

                Comment


                • Chào ban ngvanbinh200,

                  Không biết bạn đã phân tích các yêu cầu cần thiết trước khi bạn bắt tay vào thiết kế mạch opamp chưa. Nếu chưa thì mình nghĩ bạn nên làm điều này trước tiên.

                  Theo như bạn mô tả thì bạn cần có một mạch có chức năng làm bộ đệm (buffer), tín hiệu vào của bạn từ 0 tới 1V, tần số lên tới 4MHz. Vậy giả sử sai số của bộ đệm là 1/1000 chẳng hạn thì bạn cần mô phỏng ac xem mạch buffer của bạn có đảm bảo gain ~ 0.999 tới 1.0001 trong khoảng tần số từ DC tới 5MHz không? Nếu kết quả mô phỏng chỉ đúng trong khoảng DC tới 1MHz thôi chẳng hạn thì thông tin bạn đưa lên (lệch 50mV) không phải là do offset mà do mạch opamp bạn thiết kế không đạt yêu cầu về gain-bandwidth. Mình nghĩ mạch của bạn rất nhiều khả năng rơi vào trường hợp này vì mô phỏng sẽ không ra được random offset, mà chỉ ra được systematic offset. Và thông thường system offset sẽ vào khoảng vài mV.

                  Nếu giả thiết trên kia của mình không đúng thì bạn thử tăng L của linh kiện trong mạch gương dòng điện lên, chẳng hạn 5.4um hoặc 6.3um. rồi mô phỏng lại xem độ lệch của bạn có được cải thiện không. Nếu bạn chọn L = 0.18um thì lệch 50mV là có thể xảy ra, và nguyên nhân chủ yếu ở đây là độ chính xác của gương dòng điện rất kém.

                  Hy vọng sẽ nhận được phản hồi tiếp theo của bạn về mạch opamp này vì thiết kế opamp là một thiết kế không bao giờ cũ, nó sẽ theo người kỹ sư trong suốt quá trình làm thiết kế vi mạch.

                  Thân mến,

                  P/S: Nếu bạn quét transient với tín hiệu vào với chu kỳ 20ns rồi đo tín hiệu ra so với tín hiệu vào thì có thể độ lệch ở đây là có đóng góp của delay nữa chứ không hẳn chỉ là offset. Để đo offset chính xác bạn cần cho tín hiệu vào thay đổi rất chậm ví dụ chân P = 0.5V cố định, chân N = 0 tới 1V trong khoảng 10ms, sau đó đo độ lệch giữa P và N tại thời điểm output chuyển từ vdd xuống gnd. Đây là cách đo systematic dc offset cho opamp.
                  Last edited by hithere123; 29-02-2012, 03:32. Lý do: thêm ps

                  Comment


                  • Nguyên văn bởi ngvanbinh200 Xem bài viết
                    Chào bạn Rommel.de!
                    Đây là nguyên tên đề tài của mình:ERROR COMPENSATION TECHNIQUES FOR PIPELINE AD CONVERTERS
                    Vởi các yêu cầu từ như sau:
                    •Design a pipeline ADC 10 bit with following requests:
                    Sampling rate: 50 MS/s
                    Input max frequency: 4MHz
                    Input range voltage:0-1V
                    Number of resolution bits: 10
                    Supply voltage: 1.8 V
                    Process: CMOS TSMC 180nm
                    •Apply one error compensation technique on pipeline ADC 10 bit and do simulation.
                    •Do layout, simulate the whole design in two cases with and without using error compensation technique and write report.
                    Mình hiện tại là làm backend-end cho thiết kế số (phần place and route dùng Astro). Đang chuẩn bị chuyển qua ICC.
                    Cho nên phần thiết kế analog mình cũng ko có nhiều kinh nghiệm lắm. Phải nói analog làm lâu mới có nhiều kinh nghiệm.
                    Mình cũng tham khảo nhiều tài liệu, nhiều bài báo và khá nhiều luận văn về đề tài này. Nhưng có những chổ đọc không hiểu. Đặc biệt là họ dùng OMAP nguồn đôi, phức tạp và thường hơn 2 tầng. Nhiều lần mình cố bắt chước nhưng mô phỏng không ra. Sách về analog thì nhiều nhưng mình cũng hơi lười nên đọc ko bao giờ xong. Chỉ dùng tool (Cadence5141) rồi quét các thông số W (L giữ nguyên) để phân cực,phân tích dc, ac. mình thấy OPAM là phần thiết kế quan trọng nhất. OPAM trong thiết kế của mình đóng vai trò là buffer. Hơn nữa vấn đề bị vướng của mình trong thiết kế này là mạch MDAC(Vout=2*vin-v(dac)), V(dac)=0, 0.5v, 1v tùy theo vin < 0.375V, 0.375v<vin<0.625V,1v> vin> 0.625v. Điện áp ngõ ra của tầng đầu tiên đã có sai số khá lớn 10mv->50mv. Mặc dù cuối cùng có mạch digital corection nhưng số bit resolution chỉ co 5 hoặc 6 trên 10. (với tín hiệu đầu vào là mức dc được quét từ 0,0.1,0.2...1v). Theo bạn thì mạch OPAM 2 tầng (dạng PMOS) phù hợp không? lúc mình học thì thầy chỉ tính toán các thông số OPAM ở công nghệ 0.6um nhưng khi làm công nghệ 0.18u thì ko có đủ thông số để tính nên mình ít tính toán. Bạn có thể chia sẽ cách tính cũng như ướt lượng thông số trong mạch analog ở công nghệ thấp này ko? một vấn đề nữa là mạch MDAC, mình dùng mạch charge-pump thì bị sai số lớn nhưng tín hiệu qua các tầng thì trong giới hạn biên độ điện áp. Còn khi dùng dạng mạch điện trở+OPAM thì sai số tại một tầng thấp nhưng tín hiệu qua các tầng thì sai sô vượt quá biên độ điện áp. Còn dùng dạng mạch switch-capacitor thì không chạy (cái này các bài báo hay dùng+ OPAM nguồn đôi). Bạn có thể chỉ mình loại mạch nào phù hợp trong thiết kế này ko? thanks
                    Chào bạn Ngvanbinh200,

                    Tớ không làm về ADC nên có nhiều cái tớ không rành lắm nhưng cũng đưa ra một số ý kiến như thế này.

                    Ở đây tớ có một quyển sách "CMOS integrated analog to digital and digital to analog converters" bên trong có trình bày về các mạch ADC với đầy đủ thiết kế chi tiết và cả những mạch calibration. Bạn có thể tham khảo ở đây.

                    cmos_integrated_analog-to-digital_and_digital_to_analog_converters__plassche .pdf

                    Điểm thứ 2 tớ nghĩ rằng có lẽ bạn đang làm project trong trường đại học. Với những project trong trường đại học thì bạn nghiên cứu kỹ về các prior work (related work) và chứng minh được tính ưu việt của thiết kế mới do bạn hoặc thầy bạn đưa ra so với những thiết kế cũ này trên một số mặt nào đó. Tớ đọc các bài viết của bạn thì có lẽ bạn chưa nghiên cứu tốt về prior work. Trên thực tế việc calibrate lại cho ADC đã được làm từ rất lâu với rất rất nhiều thiết kế ưu việt. Tớ nghĩ rằng bạn nên nghiên cứu lại những prior work trước đây và sau đó phải chứng minh được thiết kế của bạn tốt hơn. Điều này không phải là dễ đâu vì người ta đã làm rất nhiều và rất tốt rồi.

                    Điểm thứ 3 tớ muốn lưu ý bạn là bạn cho rằng offset của opam là quan trọng nhưng thực ra thiết kế ADC hay DAC sai số của điện trở hoặc tụ điện mới là vấn đề chính. Việc sử dụng điện trở hay tụ điện cũng tùy thuộc vào từng thiết kế. Ngoài ra tụ điện và điện trở còn thay đổi giá trị theo nhiệt độ. Bạn cũng phải lưu ý đến sai số do nhiễu. Mạch calibration của bạn chỉ có thể giúp bạn giảm sai số hệ thống nhưng không thể giúp bạn loại bỏ sai số ngẫu nhiên. Nhiễu tạo ra sai số ngẫu nhiên nên đây là vấn đề đặc biệt quan trọng. Nhiễu có nhiễu từ nguồn, nhiễu từ substract, nhiễu từ tín hiệu số...

                    Một điểm nữa là bạn sử dụng mạch opam 2 tầng làm buffer cho tín hiệu lấy mẫu 50 MHz là quá cao. Mạch opam 2 tầng hiếm khi được đưa lên làm việc ở tần số này. Tớ cho rằng bạn nên sử dụng mạch folded cascode dùng làm tầng khuếch đại thì tốt hơn vì mạch cascode có ưu điểm là có thể làm việc với tín hiệu ở tần số trung bình nhưng vẫn có hệ số khuếch đại lớn. Nếu cần bạn mới đưa thêm một tầng buffer vào sau mạch cascode.

                    Điểm cuối cùng tớ muốn lưu ý bạn là tín hiệu vào của bạn là từ 0V tức là nếu bạn dùng nguồn đơn thì không thể đưa trực tiếp tín hiệu này vào được. Bạn có thể cộng thêm một điện áp bias để tăng mức đầu vào tuy nhiên việc này cũng làm tăng sai số. Thứ nhất điện áp bias của bạn có thể không chuẩn, thứ 2 có thể mạch cộng thêm bias của bạn không chuẩn. Ngoài ra bạn có thể sử dụng charge pump để tạo nguồn điện áp âm giúp cho việc đưa trực tiếp tín hiệu 0V vào nhưng cái này làm tăng độ phức tạp của thiết kế.

                    Comment


                    • Nguyên văn bởi hithere123 Xem bài viết
                      Chào ban ngvanbinh200,

                      Không biết bạn đã phân tích các yêu cầu cần thiết trước khi bạn bắt tay vào thiết kế mạch opamp chưa. Nếu chưa thì mình nghĩ bạn nên làm điều này trước tiên.

                      Theo như bạn mô tả thì bạn cần có một mạch có chức năng làm bộ đệm (buffer), tín hiệu vào của bạn từ 0 tới 1V, tần số lên tới 4MHz. Vậy giả sử sai số của bộ đệm là 1/1000 chẳng hạn thì bạn cần mô phỏng ac xem mạch buffer của bạn có đảm bảo gain ~ 0.999 tới 1.0001 trong khoảng tần số từ DC tới 5MHz không? Nếu kết quả mô phỏng chỉ đúng trong khoảng DC tới 1MHz thôi chẳng hạn thì thông tin bạn đưa lên (lệch 50mV) không phải là do offset mà do mạch opamp bạn thiết kế không đạt yêu cầu về gain-bandwidth. Mình nghĩ mạch của bạn rất nhiều khả năng rơi vào trường hợp này vì mô phỏng sẽ không ra được random offset, mà chỉ ra được systematic offset. Và thông thường system offset sẽ vào khoảng vài mV.

                      Nếu giả thiết trên kia của mình không đúng thì bạn thử tăng L của linh kiện trong mạch gương dòng điện lên, chẳng hạn 5.4um hoặc 6.3um. rồi mô phỏng lại xem độ lệch của bạn có được cải thiện không. Nếu bạn chọn L = 0.18um thì lệch 50mV là có thể xảy ra, và nguyên nhân chủ yếu ở đây là độ chính xác của gương dòng điện rất kém.

                      Hy vọng sẽ nhận được phản hồi tiếp theo của bạn về mạch opamp này vì thiết kế opamp là một thiết kế không bao giờ cũ, nó sẽ theo người kỹ sư trong suốt quá trình làm thiết kế vi mạch.

                      Thân mến,

                      P/S: Nếu bạn quét transient với tín hiệu vào với chu kỳ 20ns rồi đo tín hiệu ra so với tín hiệu vào thì có thể độ lệch ở đây là có đóng góp của delay nữa chứ không hẳn chỉ là offset. Để đo offset chính xác bạn cần cho tín hiệu vào thay đổi rất chậm ví dụ chân P = 0.5V cố định, chân N = 0 tới 1V trong khoảng 10ms, sau đó đo độ lệch giữa P và N tại thời điểm output chuyển từ vdd xuống gnd. Đây là cách đo systematic dc offset cho opamp.
                      Cám ơn bạn.
                      Mình sẽ mô phỏng mạch và gởi bạn các kết quả.
                      Đúng nư bạn nói mình không có chuẩn để đánh giá đúng mạch thiết kế. Chỉ là tìm một toplogy rồi mò mẩm để đựoc kết quả thui.Mình sẽ up mạch và các kết quả mô phỏng. Nhờ bạn chỉ điểm nhiều hơn.

                      Comment



                      • Mình chỉ up một hình test thử.con chuột bị hư nên tối về sẽ làm.
                        Last edited by ngvanbinh200; 29-02-2012, 10:46.

                        Comment


                        • Chào bạn ngvanbinh200,

                          Mạch buffer thường có gain bằng 1, tức là gain phải ở khoảng 0dB, nhưng kết quả mô phỏng của bạn là ~15dB. Có vẻ đây là open loop gain??? Nếu đúng là open loop gain thì ở DC, gain của bạn thấp quá, và close loop gain chỉ bằng 1/(1+1/A) ~ 0.85 (sai 15%).

                          Ngoài ra bạn Rommel.de có chỉ ra một điểm bạn cần chú ý là mạch của bạn có đầu vào từ 0V, vậy bạn cần chọn đầu tầng thứ nhất là PMOS nhưng để đảm bảo đầu ra cũng là 0V thì không được đâu. Điện áp thấp nhất ở đầu ra sẽ bằng Vds của NMOS và điện áp này khoảng 100mV. Bạn sẽ không bao giờ đệm được 0V đầu vào.

                          Thân mến,

                          Comment


                          • ps: Ngọc Linh đã tốt nghiệp và đi làm rồi à? tớ mới đổi tên sang username mới này. Từ giờ dùng username này luôn. Mình cũng hơi băn khoăn chuyện có nên tốt nghiệp trong năm nay không, vì vẫn thấy thiếu nhiều kiến thức quá, mới năm tư mà. Nên quyết định ở lại BK 1 năm nữa..
                            Chào việt đức! lâu rồi tớ mới vào forum! xuýt nữa tớ nghĩ học di làm rồi hì hì. Chán lên lớp lắm rồi. nay đang làm đồ án design cpu 32 bit(MISP) . Lại đụng đến mảng ic design này nên máu lắm. thức khuê coment đây. hề hề

                            Comment


                            • Chào bạn ngoclinh_xl,

                              Tuy topic này ghi là analog nhưng từ trước đến nay mọi người cũng đề cập tới nhiều khía cạnh của thiết kế IC nói chung. Sẽ rất vui nếu bạn tiếp tục chia sẽ một chút về thiết kế của bạn.

                              Chúc bạn thành công!
                              Thân mến,

                              Comment


                              • Hello!
                                Thesis-10-Bit 50MHz Pipeline AD Converter 20040108.pdf
                                Understand data converter-TI.pdf

                                Comment

                                Về tác giả

                                Collapse

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

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

                                Collapse

                                Đang tải...
                                X