صفحه اصلی سایت   ثبت نام   ورود
Iran IEEE
The Iranian Virtual Electronic And Electrical Society
۲
کاربرانی که به این تاپیک رای داده اند
ارسال به :
۱۳۹۰/۳/۶ - 4:35 PM
  ۱   |  1 #
دوست سایت
پست ها : 21
تشکر ها : 6
34 بار تشکر شده در 18 پست
آشنایی با میکروکنترلرهای سری LPC23XX
آشنایی با میکروکنترلرهای سری LPC23XX
این میکروکنترلرها بر پایه ی ARM7TDMI-S  بنا شده اند. از امکانات این خانواده میتوان به 10/100 Ethernet MAC  ، یک یو اس بی 2 با سرعت بالا ، چهار رابط سریال UART، دو کانال CAN،یک رابط SPI  ، دو پورت سریال سنکرون SSP، سه رابط I2C  و یک رابط I2S  نام برد.
سرعت این میکروها تا 72 MHz  میرسه که توسط  منبع فرکانسی تامین میشه:
  • اسیلاتور داخلی RC  که فرکانس تولیدیش 4 مگا هرتز هست و شما میتونید با یا بدون استفاده از PLL  از اون استفاده کنید قابل توجه اینکه برای استفاده از رابط هایی مثل USB  ، CAN1\2از اون استفاده کنید
  • اسیلاتور خارجی یا همون کریستال که میتونه محدوده فرکانسی از 1 تا 24 مگاهرتز را تامین کنه که باز میتونیم با استفاده از PLL  فرکانس اون را تا حداکثر فرکانس کاری CPU  افزایش بدیم.
بیش از 512 کیلوبایت حافظه فلش برای برنامه داره که امکان پروگرام کردنش با ISP  و IAPوجود داره.
حدود 64 کیلو حافظه SRAM  داره که برای دسترسی سریع CPUبه اون به وسیله یک باس محلی جداگانه به ARMمتصل شده.
16 کیلو بایت static RAMبرای رابط ایترنت داره و همچنین 8 کیلو بایت برای رابط USB.
دارای سه نوع وقفه ی :
  • وقفه سریع :این وقفه به Fast Interrupt reQuest (FIQ)معروف است که با اتفاق افتادنش میکرو به سرعت دستورات زیر برنامه این وقفه را اجرا کرده و سپس به محل قبلی برنامه باز میگردد
  • وقفه برداری یا Vectored IRQ:این نوع میکروها دارای 32 منبع وقفه میباشند که هرکدام مربوط به یکی از لوازم جانبی میکرو میباشد. زمانی که از طرف هر یک از این لوازم جانبی دستور وقفه ای صادر شود میکرو مجبور است یکی یکی دستگاه ها را بررسی کند تا ببیند در کدامیک از دستگاهها وقفه اتفاق افتاده سپس دستورات مربوط به همان دستگاه را اجرا کند که بسیار زمان بر است.برای برطرف کردن این مشکل مهندسین این نوع وقفه را ابداع کرده اند که به دستگاهها اولویت دهد و پرکاربردترین دستگاه را در ابتدای بردار و کم کاربردترینشان را در انتهای بردار قرار دهند.
  • وقفه غیر برداری :این وقفه زمانی استفاده میشود که منابع وقفه کم باشد و احتیاجی به اولویت بندی نباشد.
پشتیبانی از کارت های حافظه SD/MMC
ولتاژ تغذیه 3/3 ولتی (از 3 تا 6/3 ولت)
دارای RTC  داخلی جهت نگه داشتن زمان و قابلیت اتصال به باطری پشتیبان و استفاده از کریستال خارجی 32.867 کیلوهرتزی یا استفاده از فرکانس خود میکرو و دارای 4کیلو RAM(اگر اشتباه نکنم)و دارای وقفه
دارای Watchdogیا همون سگ نگهبان برای جلوگیری از هنگ کردن
دارای چند مد کاری برای ذخیره نیرو
و... که هر وقت بحثش پیش اومد از این امکانات صحبت میکنیم
البته قبل از اینکه شروع کنیم دوستانم به شما بگم که آرم مثل AVR, PIC   برنامه نویسیش ساده نیست چون شما فقط با یه سری آدرس حافظه سر و کار دارید و چیزی به اسم پورت یا رجیستر یا چیز های دیگه وجود نداره و شما باید کاملا تابع زبان برنامه نویسی و مهمتر از اون کامپایرش باشید و در واقع هر چی اونا گفتن بگید چشم.
عزیزانم برای امروز فکر کنم کافی باشه چون هم خسته شدم و هم باید برم بخونم.
 
آخرین ویرایش توسط arsen_sp در ۱۳۹۰/۳/۶ ساعت 4:40 PM دلیل :

  
  تشکر ها از این پست : 6 عدد
 Majed , alireza_amirsamimi , emad_33 , mahdiks , mis12345 , o.davood ,
 لیست پاسخ ها به این تاپیک
۱۳۹۰/۳/۷ - 3:52 PM
  ۱   |  3 #
کاربر پرتوان
پست ها : 362
تشکر ها : 215
386 بار تشکر شده در 203 پست
قربون دستت حسن خان ....

یه سوال در مورد استفاده از آرم ... ببین برای کار کردن با پورت ها یعنی میخوای بگی که دستور مستقیم وجود نداره که بتونیم مثلا یک پین رو 0 یا 1 کنیم؟ ... مثل AVR ؟ اگه پورت و رجیستر وجود نداره ...چه جوری میشه روی اونها مدیریت کرد؟ ... نگو که باید مثل اسمبلی برنامه بنویسی :دی

بعد اینکه منظورتو از اینکه میگی باید کاملا تابع زبان برنامه نویسی باشی نمیفهمم ... خوب همیشه باید تابع زبان و کمپایلر باشیم .. وجه تمایزش تو آرم نسبت به AVR چیه ؟.. اینجا رو اگه میشه یه کم باز تر کن ..

سوال بعدی اینکه مثلا من قبلا فکر میکردم میکرو رو اگه با کریستال بالای 16 مگاهرتز که ماکزیمم دیتا شیتش هست راه بنداری در اجرای دستورات دچار مشکل مشکل میشه .. اما اخیرا متوجه شدم تا 32 مگا هرتز هم بدون مشکل کار میکنه ... در مورد آرم هم به همین صورت هست؟ .. آیا میشه با فرکانس بیشتر از استانداردش اونو راه اندازی کرد ؟
 



با آپلود مطالب و به اشتراک گذاشتن اطلاعات خود دیگران را برای به اشتراک گزاری مطالب تشویق کنید.
برای آپلود مطالب در سایت به "ارسال مطلب" در بالای سایت رفته و "ارسال مطلب برای سایت" را انتخاب کنید.


عضویت رسمی در IEEE.ORG از طریق سایت امکان پذیر شد.
  
  تشکر ها از این پست : 2 عدد
 emad_33 , arsen_sp ,
۱۳۹۰/۳/۸ - 1:17 AM
  ۱   |  4 #
دوست سایت
پست ها : 21
تشکر ها : 6
34 بار تشکر شده در 18 پست
سلام آقا ماجد و دوستان
جواب سوال اولتون اینکه اگه مثلا توی avrمیخواستی یه پورت را یک کنی به صورت زیر مینوشتی
PORTX.n = 0 or 1;
که این درواقع اسم رجیستر پورت بود و شما را مستقیما به پورت متصل میکرد در صورتی که توی armاین دستور به صورت زیر نوشته میشه
IOSET0 = (1<<16);
که IOSET1  مربوط به یک بخش از حافظه است که به صورت زیر تعریف میشه
#define   IOSET0    (*(volatile unsigned long *)(GPIO_BASE_ADDR + 0x00))
که IOSET0معرف محل حافظه ای به آدرس فوق است که در بررسی حافظه کاربردی آرم با آن آشنا خواهیم شد.و در واقع شما مدیریتتون روی حافظه نرم افزاریه نه سخت افزار
ج.سوال دوم یعنی ثابت هایی که کامپایلر برای شما تعریف کرده را باید استفاده کنی که ممکنه توی یک آرم دیگه متفاوت یا اصلا وجود نداشته باشه یا توی یک کامپایلر دیگه به همین زبون کاملا متفاوت باشه
ج.سوال سوم توی آرم به علت وجود PLLیا همون ضرب کننده فرکانس در بالاترین رنجش امکان پذیر نیست اما ممکنه توی رنجهای پایین کار کنه اما اون دقت را قطعا نخواهد داشت و حتما مصرف توانش چند برابر میشه
راستی این را تو جواب سوال اولتون فراموش کردم بگم که این عبارت(GPIO_BASE_ADDR) آدرس جایی از حافظه هست که از اونجا مکان های معین شده برای اون بخش شروع میشه که در این سری از آرم ها که داریم معرفی میکنیم مقدارش xE0028000است.
 

  
  تشکر ها از این پست : 3 عدد
 Majed , emad_33 , alireza_amirsamimi ,
۱۳۹۰/۳/۸ - 10:11 PM
  ۱   |  5 #
کاربر پرتوان
پست ها : 362
تشکر ها : 215
386 بار تشکر شده در 203 پست
مهندس من پیشنهاد میکنم بعد از اینکه اطلاعات دیتاشیتی از آرم رو گفتی برای درک راحت تر به صورت پروژه های چند خطی ساده بریم جلو .. مثلا از خاموش و روشن کردن یک ال ای دی شروع کنیم و همین طور بریم جلو ...

من که با این تاپیک خیلی دارم حال میکنم :دی
 



با آپلود مطالب و به اشتراک گذاشتن اطلاعات خود دیگران را برای به اشتراک گزاری مطالب تشویق کنید.
برای آپلود مطالب در سایت به "ارسال مطلب" در بالای سایت رفته و "ارسال مطلب برای سایت" را انتخاب کنید.


عضویت رسمی در IEEE.ORG از طریق سایت امکان پذیر شد.
  
  تشکر ها از این پست : 2 عدد
 emad_33 , arsen_sp ,
۱۳۹۰/۳/۸ - 10:33 PM
  ۱   |  6 #
پست ها : 1
تشکر ها : 4
3 بار تشکر شده در 1 پست
سلام .. آقا خیلی تاپیک خوبیه .. خواهش میکنم ادامه بدید و مثل جاهای دیگه بعد از 5 تا پست متوقفش نکنید ..

آقا این مدل آرم که الان دارید روش بحث میکنید از کدوم سری آرم ها هست؟ .. آرم 7 یا 9 یا  ...؟ آیا روی این هم هسته ی لینوکس یا ویندوز نصب میشه؟  اگه آره لطفا یه کم این موضوع رو هم بازش کنید که بعد از نصب سیستم عامل روی اون نحوه ی ارتباط با پورت ها به چه صورت خواهد بود ؟ 

 

  
  تشکر ها از این پست : 3 عدد
 Majed , arsen_sp , alireza_amirsamimi ,
۱۳۹۰/۳/۹ - 4:02 PM
  ۱   |  7 #
دوست سایت
پست ها : 21
تشکر ها : 6
34 بار تشکر شده در 18 پست
چشم آقا ماجد یه کم درباره خود میکرو هم بدونیم بد نیست ولی چشم کم کم میریم سراغ کار عملی
 

  
  تشکر ها از این پست : 1 عدد
 Majed ,
۱۳۹۰/۳/۹ - 4:05 PM
  ۱   |  8 #
دوست سایت
پست ها : 21
تشکر ها : 6
34 بار تشکر شده در 18 پست
سلام
اول به همتون بخصوص آقا عماد که تازه به ما ملحق شدن خوش آمد میگم بعد هم از همه ممنونم که به این مطالب توجه دارید
ولی ظاهرا آقا عماد خیلی عجله دارن که یه دفعه بریم سر سیستم عامل ولی باید بگم من فعلا تا اون حد سواد ندارم که بگم با سیستم عامل چطوری میشه پورت ها را کنترل کرد اما این را میدونم که خیلی راحتتر از سیستمهای دیگه امکانش هست چون تمام کار ما با حافظه آرمه و مقدار دهی حافظه هم سخت نیست.آها راستی در جواب سوال اولشون هم بگم آرمی که داریم روش کار میکنیم ARM7  هست.
حالا فکر میکنم که باید کار گروهی را شروع کنیم چون تو بحث الکترونیک 4 نفر حکم یه ارتش را دارند و قطعا میتونیم با هم کارهای بزرگی بکنیم روی بحث تئوری و پاسخ به سوالات تا جایی که سوادم ( که البته در مقابل شما اساتید سوادی ندارم ) اجازه بده در خدمتتون هستم و تو عمل هم پا به پای شما میام و امیدوارم چیزای زیادی ازتون یاد بگیرم.
امروز میخوام در باره باس ها و حافظه بریم رو منبر اگه اجازه بدید.
همونطوری که خدمتتون عرض کردم میکروهای آرم دو تا باس دارند که یکی از اونها جهت اتصال ادوات پر سرعتی مثلVIC  ،USB  و... به هسته آرم هست که به AHBمعروفه و یکی دیگه که یه واسط بین ادوات کم سرعتی مثل تایمر ها ، مبدلهای آنالوگ به دیجیتال و... و هسته پر سرعته به نام APB  و به وسیله یه واسط به نام AHB bridge  یا پل واسط به باس پر سرعت و بعد از اون به هسته مرتبط میشه دلیل استفاده از این دوتا باس کار کردن سیتم های کم سرعت و پر سرعت همزمان بدون اختلال در کار همدیگر است.
http://up.vatandownload.com/images/4ljfy42txkrd0etuxc8b.jpg
واما حافظه:
به دلیل 32 بیتی بودن پردازنده به ما این امکان را میده که بتونیم حافظه را تا 4 گیگ آدرس دهی کنیم .به شکل زیر توجه کنید:
http://up.vatandownload.com/images/1wggtmbsdohrjofcbbu7.png
هر بخشی از حافظه مربوط به به قسمت سخت افزاریه مثلا از حافظه 0xF000 0000تا 0xFFFF FFFF  مربوط به باس پر سرعته که دو مگا بایت از حافظه را اشغال میکنه و شامل 128 فضای 16 کیلو بایتیه  به جدول زیر توجه کنید که چطور فضا را بین دستگاه های جانبی تقسیم کرده
http://up.vatandownload.com/images/ijdoq06m8lw79ol9bz31.jpg
و این جدول هم مربوط میشه به باس کم سرعت:
http://up.vatandownload.com/images/01i8hbx34262fnk4eq4.jpg
بیشتر از این فکر نمیکنم لازم باشه به حفظه ها بپردازیم
پس تا بعد بدرود
 
 
 
آخرین ویرایش توسط arsen_sp در ۱۳۹۰/۳/۹ ساعت 5:19 PM دلیل :

  
  تشکر ها از این پست : 2 عدد
 Majed , sabajoon ,
۱۳۹۰ نهم خرداد
arsen_sp
این نوشته به وسیله arsen_sp پاک شده است - دلیل :
۱۳۹۰ دوازدهم خرداد
Majed
این نوشته به وسیله Majed پاک شده است - دلیل :
۱۳۹۰/۳/۱۲ - 11:20 PM
  ۱   |  11 #
کاربر پرتوان
پست ها : 362
تشکر ها : 215
386 بار تشکر شده در 203 پست
حسن خان میتونی عکسا رو یک راست دراگ کنی از رو سیستمت به ادیتور همین جا .. خودش اتوماتیک آپلود میکنه و هماهنگش میکنه ... از لینک گذاشتن خیلی بهتره :)

من عکسا رو داشتم میدیدم .. چند تا سوال دوباره واسم پیش اومد ..

اول اینکه این فقط 1  دونه pwm داره؟

دوم اینکه منظور از battery RAM چیه ؟
 



با آپلود مطالب و به اشتراک گذاشتن اطلاعات خود دیگران را برای به اشتراک گزاری مطالب تشویق کنید.
برای آپلود مطالب در سایت به "ارسال مطلب" در بالای سایت رفته و "ارسال مطلب برای سایت" را انتخاب کنید.


عضویت رسمی در IEEE.ORG از طریق سایت امکان پذیر شد.