اطلاعیه

Collapse
No announcement yet.

طراحی چند TTL بر روی CPLD

Collapse
X
 
  • فیلتر
  • زمان
  • Show
Clear All
new posts

    طراحی چند TTL بر روی CPLD

    من یه مدار طراحی کردم که از 8 تا آی سی TTL سری 74xx استفاده شده.
    این تعداد TTL خیلی جا میگیرن.
    میخوام مدارم کوچک تر بشه.
    لطفا راهنمایی بکنین که چطوری میتونم این کار رو انجام بدم.

    تا اینجای کار هم تحقیق کردم :

    1. ظاهرا CPLD بر اساس EEPROM هست و نسبت به FPGA که بر اساس RAM هست، پیچیدگی کمتری داره.
    به همین خاطر واسه مدار من که ساده هست بهتره که از CPLD استفاده بکنم.

    2. ظاهرا باید از یکی از زبان های برنامه نوسی Verilog یا VHDL تک تک گیت ها رو برنامه نویسی بکنم.
    واقعا راه ساده تری وجود نداره؟ مثلا فقط TTL ها و یا حداقل گیت ها شون رو توی محیطی مثل ISIS پروتوس فقط همبندی بکنم و بعد برنامه اتوماتیک کدهای معادل گیت ها و در نهایت فایل هگز برای پروگرم کردن رو تولید بکنه! :biggrin:

    3. یه چند تا آی سی XC2C64A دارم که ماله شرکت Xilinx هست.
    این آی سی واسه کاری که گفتم به درد میخوره؟ یا باید از آی سی خاص دیگه ای استفاده بکنم؟

    4. ظاهرا برنامه مخصوص CPLD های شرکت Xilinx اسمش iMpact هست.
    به جای استفاده از VHDL یا Verilog میتونم از این برنامه iMpact استفاده بکنم؟

    5. لینک آموزش ابتدایی و دانلود هر کدوم از برنامه های iMpact - Verilog - VHDL رو هم واسم بدین.

    میدونم که سوالاتم زیاد هست و شاید یه نفر حوصله جواب دادن به همشون رو نداشته باشه. اگه یه مورد رو هم واسم جواب بدین سپاسگزار میشم. مرسی :redface:

    #2
    پاسخ : طراحی چند TTL بر روی CPLD

    سلام
    من یکم با vhdl کار کردام اگر شماتیک مدارتون رو بزارید بهتر میشه راهنمایی کرد

    دیدگاه


      #3
      پاسخ : طراحی چند TTL بر روی CPLD

      دوست عزیزم شما برای برنامه نویسی قطعات XILINX از نرم افزار ISE می بایستی که استفاده کنید و نرم افزار IMPACT فقط برای برنامه ریزی این قطعات است که همراه نرم افزار اصلی نصب می شود. ضمن اینکه شما می تونید مستقیما به ورت شماتیکی قطعتون رو برنامه ریزی نمایید.

      دیدگاه


        #4
        پاسخ : طراحی چند TTL بر روی CPLD

        این دو تا TTL رو میخوام بزنم روی یه دونه XC2C64A باید چی کار بکنم :



        به نظرتون این رو دانلود بکنم به دردم میخوره :

        Xilinx.ISE.Design.Suite.v14.2.ISO-TBE(Murlok) 6.15GB

        لطفا یه کمی بیشتر راهنمایی بکنین. مرسی

        دیدگاه


          #5
          پاسخ : طراحی چند TTL بر روی CPLD

          لطفا مواد اولیه زیر رو تهیه کنید

          1- XC9572
          2- پروگرامر
          3- نرم افزار ISE

          دیدگاه


            #6
            پاسخ : طراحی چند TTL بر روی CPLD

            نوشته اصلی توسط mahdi421
            لطفا مواد اولیه زیر رو تهیه کنید

            1- XC9572
            2- پروگرامر
            3- نرم افزار ISE
            دمت گرم مرسی
            اگه این شماره آی سی رو پیدا نکردم یکی دیگه هم جایگزین معرفی میکنی؟
            یه لینک آموزش نرم افزار ISE رو هم میخوام
            و یا اگه کتابی در این زمینه هست معرفی بکنین

            دیدگاه


              #7
              پاسخ : طراحی چند TTL بر روی CPLD

              xc9572 تو خانواده cpld ها یه چیزی تو مایه های آی سی 555 هست که همه جا گیر میاد

              یه توضیح کوچولو اینکه اگه بخوای با 3.3 ولت کارکنه باید xc9572xl بگیری و اگه بخای با 5 ولت کار کنی xc9572 بدونه پسوند xl تهیه کنید

              این آیسی پکیچهای مختلفی داره که تو دیتا شیت آی سی هست مثلا همین مداری که گذاشتین 18 تا پایه I/O لازم داره پس اگه یه xc9572 بگیرین که 44 پین باشه میتونید این مدار رو توش پیاده کنید
              پیش نهاد میکنم فعلا یه دونه XC9572XL-44P PLCC بگیرین (با سوکتش )از پایا الکترونیک قیمتش هم 61393 ریال هست oo:
              حتما 139.3 تومن خورد همراتون باشه :rolleyes:

              راجب کتاب هم پیش نهاد میکنم اول همین مداری رو که گذاشتین کار کنیم بعد خواهید دید که چقدر ساده میتونید این مدار رو پیاده کنید و در عمل ازش استفاده کنید بعد انتخاب کتاب راحتر خواهد بود

              برای پروگرام کردن هم اگه پورت پارالل رو کامپیوتر دارین از این استفاده کنید
              http://www.ne-ir.com/Programmers/NFP102.aspx?lang=Fa
              البته خودتون هم میتونید پروگرامر بسازید و یه سرچ کنید مدارش رو نت هست منتها من چون تا حالا تست نکردام تو این مورد نمی تونم کمک کنم
              در غیر اینصورت باید یه پروگرامر usb بگیرید که بالای 300 هزار تومن هست

              دیدگاه


                #8
                پاسخ : طراحی چند TTL بر روی CPLD

                خیلی ممنون از راهنماییت
                این پروگرمر NFP102 رو یک سال پیش خریدم به قیمت 12 تومن. مطمئن بودم که لازمم میشه! :wow:
                مدارم با 5 ولت کار میکنه
                با توجه به دیتاشیت به نظر میاد این XC9572-7PC44C واسه کارم مناسب هست
                در مورد XC2C64A نگفتی که چرا نمیتونم ازش استفاده بکنم؟! آخه از این آی سی خیلی دارم! :cry:
                خب الان چه طوری شروع بکنم؟
                توی برنامه مدل آی سی رو میتونم پیدا بکنم ولی کلی تنظیمات اضافی داره!
                به نظر خیلی برنامه سختی هست!

                ویرایش :
                فعلا دارم با این آموزش جلو میرم :
                آموزش کار با نرم افزار ISE 9.1

                دیدگاه


                  #9
                  پاسخ : طراحی چند TTL بر روی CPLD

                  ملاک انتخاب آی سی
                  1- تعداد I/O مورد نیاز
                  2- ولتاژ کار مدار
                  3- تعداد ماکروسل مورد نیاز
                  4- فرکانس کلاک اعمالی به مدار
                  5- دسترس بودن در بازار
                  6- توان تلفاتی
                  7- ...

                  XC2C64A با 1.8 ولت کار میکنه و ماکزیمم ولتاژ پایه های I/O 3.3 ولت هست اگه دوست دارین با این آیسی هم میتونید کار کنید


                  خوب قبل از هر کاری باید یه مدارچاپی به فرمت زیر تهیه کنید. نرم افزار هم اصلا سخت نیست



                  این آیسی 34 تا I/O داره که من پیش نهاد میکنم 11 تا برای ورودی 12 تا برای خروجی و یه پایه هم برای OSC در نظر بگیرین . توی خروجی هر کدام از این 12 تا پایه رو با یه مقاومت 2.2 کیلو به یه LED وصل کنید . توی ورودی هم هرکدام از پین هارو با یه مقاومت 10 کیلو اهم PULL-UP یا PULL-DOWN کنید بعد اگه خواستین میتونید میکروسویچ بزارید یا از کلید کشویی یا پین هدر استفاده کنید تا به آیسی دیتا بدین

                  تو طراحی مدارچاپی تمام پین های VCCIO و VCCINT به 5+ ولت وصل کنید و 3 تا خازن 100nf به این پایه ها و زمین مدار وصل کنید. (به هر پایه 1 خازن)



                  دیدگاه


                    #10
                    پاسخ : طراحی چند TTL بر روی CPLD

                    واقعا مرسی از این همه راهنمایی
                    البته راستش رو بخواهی من روی تابلو روان کار نمیکنم!
                    من روی کنسول قدیمی بازی میکرو و نوارهاش تحقیقات میکنم. :redface:
                    الان میتونم هر نواری رو خودم بسازم با بازی های سفارشی و دلخواه!
                    ولی مشکل اینجاست که نوارهای پیچیده توی قاب جا نمیشن.
                    مثلا این نوار تک لبه رو ببین :



                    این همه آی سی TTL فقط واسه یه دونه بازی هست!
                    در صورتی که من میتونم یه 32 لبه بسازم با تعداد آی سی کمتر ولی چون 32 تا بازی حجمشون خیلی زیاد میشه مجبور هستم که از ای پی رام M27C322 استفاده بکنم که در اصل ماله نوارهای سگا هست و خیلی بزرگ هست هم به لحاظ ظرفیت حافظه و هم به لحاظ اندازه فیزیکی!
                    در نتیجه مجبور هستم تا حد امکان فضایی که TTL ها اشغال میکنن رو کمتر بکنم تا بتونم دو تا ای پی رام M27C322 رو توی نوار جا سازی بکنم!
                    البته بعضی از آی سی های دیگه هستن که به طور انحصاری توسط شرکت Nintendo ساخته میشدن و بهشون در اصطلاح ASIC که مخفف application-specific integrated circuit میگن. آ‌
                    با توجه به تسلط نسبتا خوبی که روی معماری میکرو و نوارهاش دارم پروژه بعدیم این هست که این نوع آی سی ها رو روی CPLD شبیه سازی بکنم.
                    ضمنا این کارها رو صرفا روی علاقه انجام میدم و رشتم هم اصلا الکترونیک نیست! :biggrin:
                    این آموزش رو هم پیدا کردم به نظر به درد بخور میاد :
                    ISE v12.1 In-Depth Tutorial.pdf

                    دیدگاه


                      #11
                      پاسخ : طراحی چند TTL بر روی CPLD

                      شروع برنامه نویسی vhdl یه نقطه استارت می خواد و بعد از این استارت شما میتونید هر کاری خواستین انجام بدین. البته من هم زیاد حرفه ای نیستم اما میتونم این نقطه استارت رو بهتون نشون بدام .اون 12 led هم به خاطر این هست که شما بتونید تاثیر برنامه ای که cpld روی ورودی ها تون میزاره ببینید و در مدار نهایی که شما لازم دارین هیچ نقشی نداره. در هر صورت هر موقع مدارچاپی تون آماده شد بگین شروع کنیم . البته قبلش شماتیک رو بذارین اگه مشکلی نداشت اون وقت pcb در بیارین.

                      دیدگاه


                        #12
                        پاسخ : طراحی چند TTL بر روی CPLD

                        نمیشه همین شماتیک بالایی که گذاشتم رو اول کار بکنیم؟
                        میخوام اول از یه چیز ساده شروع بکنم بعد برم سراغ شماتیک های پیچیده تر
                        البته ساده تر هم دارم که فقط یه دونه TTL‌ داره یه دونه ASIC داره و دو تا EPROM.
                        اگه میخواهی این رو کار بکنیم :









                        روی کامپیوتر هم میتونی نوار رو اجرا بکنی :
                        دانلود فایل بازی
                        دانلود شبیه ساز میکرو

                        دیدگاه


                          #13
                          پاسخ : طراحی چند TTL بر روی CPLD

                          خوب من هم منظورام اینکه شما بتونید اون شماتیک رو درست کنید منتها باید یه برد داشته باشین که برنامه نوشته شده رو روش تست بکنید. اینکه مدارتون یه دونه آی سی داشته باشه یا 10 تا فعلا مهم نیست. شما میخوای روش انجام کارو یاد بگیری و بعدا میتونید هر مداری رو با هر پیچیدگی طراحی کنید. مثلا همین شماتیک که اول گذاشتین 10 خط کدنویسی بیشتر نداره

                          دیدگاه


                            #14
                            پاسخ : طراحی چند TTL بر روی CPLD

                            من با تست مدار هیچ مشکلی ندارم. میتونم راحت بزنم روی یه تبدیل SMD به DIP و بعد روی برد برد تست بکنم. واسه پروگرم کردن CPLD هم میتونم از پورت Jtag استفاده بکنم :





                            الان فقط لنگ این هستم که چطوری یه دونه TTL رو روی CPLD شبیه سازی بکنم. بقیه موارد همشون حله!

                            دیدگاه


                              #15
                              پاسخ : طراحی چند TTL بر روی CPLD

                              برنامه نمونه:
                              پیاده کردن 74HC174 بوسیله VHDL در یک CPLD به شماره XC2C64A-5VQ44C نرم افزار مورد استفاده ISE 13.2

                              1- نرم افزار رو اجرا کنید و یه پروژه جدید تعریف کنید


                              2- اسم و محل ذخیره رو انتخاب کنید


                              3- نوع cpld مورد استفاده و Package رو انتخاب کنید




                              4- از منوی project گزینه new source را انتخاب کنید


                              5-گزینه vhdl module را انتخاب و در قسمت file name یک اسم دلخواه وارد کنید


                              6-آی سی 74hc174 دارای یک پایه کلاک و یک پایه ریست و یک باس 6 بیتی برای دیتای ورودی و یک باس 6 بیتی برای دیتای خروجی است که این پایه ها به صورت زیر در جدول تعریف میشوند توجه داشته باشین که این عبارت ها یه اسم هستن و شما میتونید از هر اسم دیگه ای استفاده کنید در این صورت اسم های داخل process که در زیر اومده رو هم باید عوض کنید


                              7-


                              8- بعد کلیک روی finish شکل زیر ظاهر میشه


                              9- شما باید مابین عبارت begin و end Behavioral کدهای زیر رو وارد کنید

                              کد:
                              process (HC_174_CLK,HC_174_MR)
                              
                              begin
                              
                              	if HC_174_MR='1' then 
                              		
                              		HC_174_Data_out <= "000000";
                              		
                              	elsif rising_edge(HC_174_CLK) then
                              	
                              		HC_174_Data_out <= HC_174_Data_in;
                              			
                              	end if;
                              	
                              end process;
                              مثل شکل زیر


                              10- حالا باید برای نرم افزار تعریف کنید که مثلا پایه های HC_174_Data_in به کدوم پایه آیسی XC2C64A وصل میشه. رو قسمت Floorplan IO کلیک کنید و پیغام yes رو تایید کنید




                              11- صفحه ای به شکل زیر ظاهر میشه که شما باید در سمت چپ شماره پین ها رو وارد کنید


                              12- حالا از منوی file گزینه save رو انتخاب و پیغام ok را تایید کنید و سپس از منوی file گزینه exit را انتخاب کنید تا به برنامه اصلی برگردید


                              13- حال روی علامت مثلث سبز رنگ کلیک کنید


                              14- خوب حالا همه چی تموم شده و باید یه صفحه مثل شکل زیر داشته باشین


                              15- پروگرام کردن آیسی : از منوی tool گزینه IMPACT رو انتخاب کنید و پیغام ok رو تایید کنید



                              16- روی گزینه lunch wizard کلیک کنید و پیغام ok را تایید کنید



                              17- در این مرحله اگر برد مدارچاپی و آیسی شما مشکل نداشته باشد آیسی XC2C64A به صورت اتوماتیک شناسایی میشود ( عکس های زیر مربوط به آی سی xc9572 هست)


                              18- حالا روی آی سی XC2C64A کلیک کنید و فایلی با پسوند jed را انتخاب کنید


                              19- حالا روی آی سی راست کلیک کرده و گزینه program را انتخاب کنید و پیغام ok را تایید کنید



                              20- آی سی شروع به برنامه ریزی میشود


                              دیدگاه

                              لطفا صبر کنید...
                              X