Nếu đây là lần đầu tiên đến với Điện Tử Việt Nam, bạn có thể đọc phần Hỏi đáp bằng cách nhấn vào liên kết. Có thể bạn cần đăng kí trước khi có thể gửi bài . Để bắt đầu xem bài viết, chọn diễn đàn bạn muốn thăm dưới đây.
Vừa rồi có một bạn nhắn tin hỏi mình tại sao để chống hiện tượng latch-up thì trong pmos người ta thêm n+ tap, còn trong nmos người ta thêm p+ tap, mình có thể trả lời bạn như sau:
Trước hết bạn đọc lại bài viết số #80 trang 8 cũng trong chủ để này để hiểu nguyên lý gây ra latch-up. Theo đó, lý do để duy trì dòng điện (hồi tiếp dương) trong cấu trúc pnpn và npnp là điện trở nwell và pwell có giá trị tương đối lớn đủ để thông pnp và npn. Trong pmos thì đế là loại N, nếu thêm n+ tap thì sẽ làm cho điện trở nwell nhỏ, tương tự với nmos, nếu thêm p+ tap thì sẽ làm điện trở pwell có giá trị nhỏ.
Như vậy khi điện áp output là -1V (điều kiện test latchup) chẳng hạn, Vbe của Q2 đủ lớn để thông. nếu R Nwell của PMOS nhỏ thì dòng Ic của Q2 * R Nwell của PMOS = Vbe của Q1 sẽ không đủ lớn để làm thông Q1. Như vậy hiện tượng latch-up sẽ không xảy ra.
Hy vọng là đã trả lời đúng ý câu hỏi của bạn.
Thân mến.
@ robocon2011,
Theo những tài liệu trong link bạn gửi thì phần mềm đó dùng để thiết kế layout được, nhưng có vẻ chỉ cho vi mạch tương tự, chứ không phải là công cụ tổng hợp mạch số.
Cảm ơn anh hithere123 rất nhiều. Em đã hiểu vấn đề này.
Vậy là việc thêm n+tap và p+ tap thay vì ta để như ban đầu không có chúng là để cho R nhỏ hơn. Vậy là, nếu lý tưởng, khi 2 điện trở của 2 vùng này bằng 0 thì latchup sẽ không bao giờ xảy ra.
Rất thank bác hithere . Nếu bác có một bản design mẫu nào về bất cứ một block của analog ic thì gửi lên cho mọi người xem nhé ( chỉ cần đến phần mô phỏng ). Vì nói chung các bước chung chung thì em nắm được , nhưng nếu có cái nhìn trực quan trong tính toán và design hay mô phỏng thì hay nhất vẫn có một bài mẫu .
Chào bạn,
Bạn có thể tải về tài liệu "Analysis_and_Design_of_LDO_Voltage_Regulator. pdf" ở bài viết số #32 trang 4 cũng trong luồng thảo luận này để tham khảo cách tính toán thiết kế mạch LDO. Ngoài ra, nếu bạn muốn ví dụ chi tiết tính toán kích thước W/L của từng MOSFET của một mạch cụ thể bạn có thể xem qua ví dụ tính toán mạch op-amp hai tầng trong sách "CMOS Analog Circuit Design', 2nd Edition, của tác giả Phillip E.Allen, Douglas R.Holberg, trang 276. Ở đó tác giả đưa ra yêu cầu tính toán mạch điện sao cho hệ số khuếch đại là 5000, và một số yêu cầu khác dựa trên các tham số công nghệ có thể dùng để mô phỏng. Theo mình đó là một ví dụ rất tốt nếu bạn đã nắm chắc các khái niệm cơ bản về thiết kế vi mạch tương tự. Bạn cũng có thể tải về phần mềm miễn phí LTSPICE và file công nghệ mình đã đưa lên trong các trang trước để tự thiết kế mạch op-amp này và so sánh. (Mình đã thử phần mềm và file công nghệ dựa vào thiết kế này trước khi đưa lên diễn đàn, do đó bạn có thể yên tâm về tính thực tế của phần mềm)
Hy vọng thông tin trên sẽ giúp ích cho bạn.
Thân mến.
Em đang phải làm một phần design với yêu cầu là Thiết kế khối khuếch đại so sánh:
+ Điện áp vào: 2.5-5V.
+ Hệ số khuếch đại 2000
+ Độ chính xác hệ số khuếch đại: 5%.
+ Dòng tiêu thụ: 30uA
Các bác có thể cho em chút chỉ dẫn không ạ ? Thanks !
[1] Bạn cần làm rõ các yêu cầu đầu vào trước khi bắt tay vào thiết kế
- Khối khuếch đại so sánh mà bạn đề cập tới có tác dụng là nếu điện áp P>N thì đầu ra = VDD hoặc ngược lại phải không?
- Điện áp vào 2.5V-5V là điện áp VDD hay điện áp vào của hai đầu P,N (+/-) ?
- Hệ số khuyếch đại là 2000 với độ chính xác 5% tức là đảm bảo hệ số khuyếch đại hở mạch từ 1950 tới 2050 với tất cả các điều kiện về dải điện áp cũng như các corner của linh kiện và nhiệt độ?
[2] Lựa chọn sơ đồ khối chức năng là một tầng hay hai tầng
--> bước này dựa vào hệ số khuếch đại, nếu là 2000 thì nhiều khả năng là 2 tầng.
[3] Quyết định hệ số khuyếch đại mỗi tầng A= A1*A2 = (gm1*ro1)*(gm2*ro2)
--> bước này sẽ cần đến dòng tiêu thụ, phân chia dòng tiêu thụ cho mỗi tầng. Giả sử tầng một là cặp vi sai, tầng hai là một tầng khuyếch đại đơn thì hay dùng nhất là mỗi bên cặp vi sai 5uA, tầng đơn thứ 2 là 5uA (như vậy vẫn còn 15uA để dự phòng.)
[4] Sau khi có thông số về dòng điện, gm, ro cho mỗi tầng thì có thể tính ra W/L cho mỗi MOSFET rồi.
Đến bước này bạn vẫn chỉ cần dùng đến bút chì và giấy trắng
[5] Lắp vào sơ đồ, mô phỏng xem có đúng như tính toán không? nếu kết quả mô phỏng so với tính toán sai khoảng 10-20% là có thể chấp nhận được.
Đến đây thì cơ bản hoàn thành xong thiết kế phần thô. Bạn có thể tham khảo một số tài liệu mình đưa lên từ những trang đầu về thiết kế OPAMP cũng như các yêu cầu mô phỏng để tìm hiểu thêm.
[6] Vì là hai tầng nên sẽ cần bù pha để mạch không bị dao động.
[7] Thêm mạch on/off nữa để tiết kiệm điện khi mạch không hoạt động.
Vấn đề đảm bảo sai số 5% và bước [6] và [7] sẽ được thảo luận tiếp sau khi bạn đã hoàn thành phần thô và có một vài kết quả nào đó để thảo luận tiếp. Hy vọng những thông tin trên có thể giúp ích cho bạn phần nào. Chúc bạn thành công!
bác Intran ơi to mấy foder đó có thể tạo bằng tay k ạ! em em như hướng dẫn k dc a? mong bác giúp em!
Không biết bạn đã cài được Cadence chưa. Nếu chưa thì mình khuyên bạn nên lên google và tìm hiểu một ít về các lệnh trong linux. Bài hướng dẫn của anh lntran ngắn gọn nên nếu bạn mới nhập môn linux mà làm theo y chang thì sẽ gặp nhiều lỗi. Hiện mình đang cài Cadence ic610 trên Ubuntu 10.10. Cài ngon lành nhưng không hiểu sao vào library thì lại thiếu rất nhiều
Dưới đây là bài hướng dẫn cài Cadence ic 610 mình kiếm được trên mạng. Bài viết theo mình là rất rõ ràng và dễ hiểu.
IC610 and MMSIM61 installation:
************************************************** *****************
First of all installation from hard disk is recommended for any eda software, because installation process is too sensitive to read errors and some errors might occur without warning that cause abnormal behavior or library errors later and the cause of the error is almost impossible to find. Therefore in this guide we will assume that the installation folders are located in /home/username/edasrc/ folder.
************************************************** *****************
Second it is assumed that minimum 8 GB free space is available in /home/ folder. If this is not the case, you should either allocate more space to /home/ folder, or install the software another location which have sufficient space.
************************************************** *****************
Third the selected Linux system is very important. I recommend RHEL 3 (Red Hat Linux Enterprise 3) as it is still the industrial standard Linux system. I tested a wide range of systems and although it is possible to install IC610 to almost any Linux host, including 2.6.23 kernels, there are always some problems to solve like documentation viewer crashes, Java library inconsistencies, kernel specific issues, library or licensing errors, etc. In short, if you do not like surprises, install RHEL 3 in VMware (a virtual machine) with 'Development Tools' and 'Legacy Software Development', and forget the problems.
************************************************** *****************
The following symbols are used in this documentation.
$: The standard user command prompt
#: Super-user (root) command prompt
%: In-line notes and comments
It is assumed that BASH is used as primary scripting language. If you have no idea what I am talking about, do not worry as you are probably using BASH.
************************************************** *****************
Before installing, make sure of the following steps:
1. Type the following command in order to check the uncompress command.
$ which uncompress
You should skip this step if it returns '/usr/bin/uncompress', else the terminal output is something like '/usr/bin/which: no uncompress in (...)' and type
$ which compress
If it returns no result then try
$ which gunzip
If you still get no result then you should install gunzip. Switch to super-user mode by
$ su
Password: % type root password.
If you have 'compress' type
# ln -s /usr/bin/compress /bin/uncompress
if you have gunzip type
# ln -s /usr/bin/gunzip /bin/uncompress
2. You can replace netscape with mozilla, as follows:
$: su
Password: % root password
#: ln -s /usr/bin/mozilla /usr/bin/netscape
If you do not have mozilla or netscape, try getting netscape 7.x or try the above linking with firefox which I think can work.
************************************************** *****************
Now start the installation process:
IMPORTANT: Only use first 5 Base install CDROMs of the IC610. DO NOT install ISR CDROMs or your licensing will fail as the license is only valid for Base install.
Copy first 5 IC610 installation CDROMs to '/home/username/edascr/ic610/' folder. Then copy 2 MMSIM61 installation CDROMs to the '/home/username/edascr/MMSIM61/' folder.
Prepare the installation folders by
$: su
Password: % root password
# cd /home
# mkdir eda
# chown username eda
# chgrp username eda
# exit
$ cd /home/eda
$ mkdir ic610
$ mkdir installscape
$ mkdir mmsim61
You can also change the read/write permissions to 777 if there are more then one users but in fact it is not necessary.
************************************************** *****************
Go to the setup directory of MMSIM61
$ cd /home/username/edasrc/mmsim61/CDROM1
and run the setup script
$ sh SETUP.SH
Press ENTER until you see 'Specify path of install directory [OR type [RETURN] to exit]:' prompt if you do not already see it. Enter
: /home/eda/mmsim61
Answer (n) to the 'Do you have InstallScape for lnx86 platform installed somewhere [y/n]?' prompt.
Then answer (y) to the 'Do you want to install InstallScape for lnx86[y/n]:' prompt.
Type '/home/eda/installscape' as the path to InstallScape installation directory.
A graphical user interface should appear. Press OK.
Select the setup source path as '/home/username/edasrc/mmsim61/CDROM1' and press NEXT.
Select manual selection option and press NEXT.
Select the setup destination path as '/home/eda/mmsim61' and press NEXT.
Check all products and press NEXT. Press INSTALL. Installation takes a few minutes. Then press CLOSE and close the Wizard View.
************************************************** *****************
Go to the setup directory of IC610
$ cd /home/username/edasrc/ic610/CDROM1
and run the setup script
$ sh SETUP.SH
Press ENTER until you see 'Specify path of install directory [OR type [RETURN] to exit]:' prompt if you do not already see it. Enter
: /home/eda/ic610
Answer (y) to the 'Do you have InstallScape for lnx86 platform installed somewhere [y/n]?' prompt.
Type '/home/eda/installscape' as the path to InstallScape installation directory.
Then answer (y) to update the InstallScape.
The same graphical user interface should appear. Select '/home/username/edasrc/ic610/CDROM1' and press NEXT.
Select manual selection option and press NEXT.
Select the setup destination path as '/home/eda/ic610' and press NEXT.
Check all products and press NEXT. Press INSTALL.
A new window will appear after a few minutes where you should press ENTER. Ignore two following windows as they will close themselves in 20 seconds by default. Take a long break now as it will take more then one hour to install.
Press CLOSE after the installation and close the Wizard View.
Go to the installed directory and create a new folder named OA.
$ cd /home/eda/ic610
$ mkdir OA
Now rerun Wizard View.
$ sh /home/eda/installscape/iscape/bin/iscape.sh
Click to the CONFIGURE button. Enter '/home/eda/ic610' as the install directory. Press NEXT.
Check all options and press NEXT. A configuration screen should appear. Press ENTER in first screen and then skip all following configuration requests until you see OpenAccess update request. Press ENTER. Enter '/home/eda/ic610/OA' and press ENTER. Press CLOSE and exit the Wizard View.
************************************************** *****************
Now do the ic610 configuration:
1. License
Use gedit or any other text editor to open provides license file and make sure it has the following two lines:
SERVER localhost ANY 5280
DAEMON cdslmd $CDS_ROOT/tools/bin/cdslmd
Now edit the 'localhost' with your local host name. You can query your host name by
$ hostname
which will return 'localhost.localdomain'. We are interested with the part before the point which the host name of the computer.
Make sure to rename file as 'license.dat' and copy it to the '/home/eda/ic610/share/license/' folder.
2. Environment variables
Edit your sturtup script by entering
$ gedit /home/username/.bashrc
or opening it from Gedit window. However you should select show hidden files option in order to view files starting with point.
Vô cùng cảm ơn anh hithere . Thế này là rất chi tiết rồi . Vượt quá cả mong đợi của em khi hỏi . Không biết bác có ở hn không hôm nào mời bác cốc bia có được không ạ ? ^^
Gửi bác hithere !
Từ các thông số mà em đã tính toán ra được W/L của 7 con MOS và khi mô phỏng kêt quả cũng tương đối ổn . Tuy nhiên để thay đổi Av thì có thể thay đổi tỉ số W/L của một số con MOS tương ứng của cả tầng visai và tần kđ đơn . Có nghĩa là thay đổi dòng cấp . Em h đang tắc phần độ chính xác Av . Mong bác gợi ý tiếp . Thanks !
Tuy nhiên để thay đổi Av thì có thể thay đổi tỉ số W/L của một số con MOS tương ứng của cả tầng visai và tần kđ đơn . Có nghĩa là thay đổi dòng cấp .
có nghĩa là bạn đã thay đổi dòng cấp để điều chỉnh Av, vậy bạn đã thay đổi W/L của một số mosfet CHÍNH của tầng visai và tầng khuếch đại đơn ĐỂ thay đổi dòng cấp? hay bạn đã thay đổi W/L của mosfet nào trong tầng khuếch đại visai và tầng khuếch đại đơn để thay đổi dòng cấp? Bạn nói rõ hơn là bạn đã thay đổi W/L bao nhiêu phần trăm và Av đã thay đổi bao nhiêu phần trăm. Như thế chúng ta sẽ có dữ kiện để hiểu thêm về mạch của bạn và đi tới phân tích tìm cách ĐẢM BẢO độ chính xác của Av.
Gửi bác hithere !
Theo em hiểu yêu cầu của mạch này là độ chính xác 5% , em đã tính ra được W/L6 = W/L1=W/L2 =1 khi chọn Av1=73 . Av2 =27 . Nếu em chọn tiếp I6=18u thì sẽ có Av khoảng 1930 . Còn nếu chọn I6=20u thì Av khoảng 1850 . Em muốn hỏi là có thể chọn dòng theo kiểu như vậy không ? Hay phải thay W/L của M6 . Vì W/L6=1 nếu ta tăng chỉ một đơn vị thôi thì Av sẽ tăng căn 2 lần . Rất mong được bác trả lời ! Thanks !
Mình không biết sơ đồ mạch của bạn nên không rõ mosfet6,1,2 đóng vai trò gì, tuy nhiên mình đoán đó là mosfet CHÍNH của tầng vi sai (mosfet1,2) và tầng khuếch đại đơn (mosfet6). Tuy nhiên, theo kết quả mô phỏng của bạn có thể thấy: khi dòng ở tầng khuếch đại đơn tăng lên ~11% thì hệ số khuếch đại giảm ~4%; và nếu bạn thay đổi tỷ số của mosfet6 thì hệ số khuếch đại của bạn có thay đổi lớn hơn. Nhưng cả hai cách này đều rất khó đạt được yêu cầu về độ chính xác 5% (+/-2.5%) của hệ số khuếch đại hở mạch vì đảm bảo độ chính xác của dòng điện ~10% là không đơn giản. Sở dĩ mình nói điều này là hệ số khuếch đại hở mạch của bạn quyết định bởi gm và ro, trong khi gm và ro phụ thuộc rất nhiều vào yếu tố công nghệ và không dễ để có thể điều khiển được độ chính xác của sai số công nghệ đối với hai thông số này. Do vậy bạn cần nghĩ cách để hệ số khuếch đại không phụ thuộc vào gm hoặc ro, hoặc cả hai, tức là làm sao để chuyển những thành tố cơ bản quyết định hệ số khuếch đại về các đại lượng mà bạn có thể điều khiển tương đối dễ dàng, ví dụ hệ số khuếch đại của bạn phụ thuộc vào tỷ số hai điện trở R1/R2 chẳng hạn vì nếu bạn chọn điện trở R1, R2 là cùng loại thì tỷ số R1/R2 gần như là không đổi với sự thay đổi của công nghệ.
Lúc đầu khi bạn đưa ra con số 5% cho sai số hệ số khuếch đại, mình có thắc mắc là 5% đối với hệ số khuếch đại hở mạch hay kín mạch, vì thông thường đối với hệ số khuếch đại hở mạch ta không quan tâm tới độ chính xác mà chỉ quan tâm tới độ lớn tuyệt đối của nó mà thôi. Bạn hỏi lại về ý nghĩa của con số 5% này nhé. Tuy nhiên mình hiểu lúc đầu là 5% này chỉ đối với những điều khiện hạn chế, tức là bạn không có thông tin về các tham số công nghệ worst case và best case mà chỉ có thông tin về các thông số công nghệ ở trường hợp typical, và không phải mô phỏng montecarlo. Nếu vậy bạn chỉ cần phải quan tâm tới sự thay đổi của hệ số khuếch đại với yếu tố nhiệt độ mà thôi. Tức là sau khi bạn thiết kế xong bạn sẽ mô phỏng nhiệt, thay đổi từ -30oC tới 125oC chẳng hạn, và xem hệ số khuếch đại thay đổi bao nhiêu phần trăm.
Nếu 5% vẫn là đối với hệ số khuếch đại hở mạch và với tất cả sự thay đổi của tham số công nghệ thì mình chỉ có thể đưa ra những hướng để giảm thiểu tối đa sai số của hệ số khuyếch đại hở mạch mà không đảm bảo đạt được con số 5%. Một trong những hướng đó là đảm bảo dòng điện tham chiếu có sai số +/-7%. Con số này là thực tế đối với một vài công nghệ cụ thể, mình đã mô phỏng thành công mạch này cách đây hai năm đối với công nghệ 0.5um. (chính là vấn đề mình đề cập khi mở luồng thảo luận này).
Tóm lại, trước tiên bạn cần kiểm tra về ý nghĩa và điều kiện của con số 5%. Nếu chỉ thay đổi theo nhiệt thì bạn hãy thử mô phỏng xem sai số theo nhiệt của mạch hiện nay của bạn là bao nhiêu, sau khi có một vài con số cụ thể thì chúng ta sẽ có thêm dữ liệu để thảo luận tiếp.
Em đang tìm hiểu cách xây dựng chương trình điều khiển động cơ Servo Yaskawa bằng máy tính tuy nhiên khi tìm kiếm trên mạng các hướng dẫn thì thường là điều khiển bằng vi điều khiển hoặc điều khiển bằng PLC hay điều khiển động cơ...
Hai lớp dán mặt trước và mặt sau, gọi là film phân cực. Muốn hiểu rõ về nó thì chịu khó search nhé. Ở đây có rất nhiều chó cứ ngửi thấy phân là sủa nhặng, nên không giải thích nhiều....
Mọi người ơi cho em hỏi cái này ạ, hiện tại em đang làm btl về hiển thị giá trị nhiệt độ trên led 7 thanh sử dụng atmega16, code em chạy trên mô phỏng rất oke nhưng khi lắp qua mạch thực thì bị lỗi ở led đầu tiên bị lỗi như thế này...
Nhờ cả nhà tìm giúp mình thông tin IC này với, thấy ghi 943B W58BAL mà mình tìm mấy ngày nay không được, nó được đóng gói dạng TSSOP 8. Cám ơn cả nhà....
Cảm ơn bạn đã chia sẻ câu chuyện và quá trình phát triển sản phẩm của mình. Trước tiên, thật may mắn khi bạn vượt qua tai nạn và vẫn giữ được niềm đam mê cũng như khả năng sáng tạo trong lĩnh vực kỹ thuật. Việc bạn tiếp tục...
Bạn nên nghiên cứu cái chấn lưu đèn ống Compact fluorescent lamp hay đèn compact trước đã. Nó rẻ đỡ tốn kém.
Sau khi hiểu rõ rồi thì chuyển sang cái mạch này.
Ở cái chấn lưu, tần số của nó linh tinh lắm, tùy điện áp nguồn, tùy...
Comment