PDA

توجه ! این یک نسخه آرشیو شده میباشد و در این حالت شما عکسی را مشاهده نمیکنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : راهنمایی در راه اندازی برد آموزشی



nh2600
03-06-2010, 14:45
من یک pcb مطابق با شماتیک این سایت طراحی کردم ولی متاسفانه با sam_ba که پروگرام می کنم پروگرام میشه اما بعد از اتمام کار failed یک میشه نه success . با TNM هم که پروگرام می کنم کامل پروگرام میشه اما برنامه ساده زیر که هشت پین اول پورت A رو با تاخیر یک ثانیه چشمک زن میکنه هم در عمل کار نمیکنه .لطفا راهنمایی بفرمایید.

#include<at91sam7x256.h>
#include<lib_AT91SAM7X256.h>

unsigned int i;
main()
{
AT91F_PIO_CfgOutput(AT91C_BASE_PIOA,0xff);

for (;;) {

AT91F_PIO_SetOutput(AT91C_BASE_PIOA,0xff);
for(i=0;i<=3686400;i++);

AT91F_PIO_ClearOutput(AT91C_BASE_PIOA,0xff);
for(i=0;i<=3686400;i++);

} }

nh2600
04-06-2010, 21:21
مشکل این هست که زمان تاخیر درست تنظیم نمیشه یعنی وقتی 1 ثانیه تاخیر می خوام بایستی تابع تاخیر رو روی 100 میکرو ثانیه تنظیم کنم در ضمن حدود هر 12 ثانیه هم میکرو ریست میشه.
اساتید گرامی لطفاً راهنمایی بفرمایند.

1nafar
04-06-2010, 22:43
سلام

من یک pcb مطابق با شماتیک این سایت طراحی کردم ولی متاسفانه با sam_ba که پروگرام می کنم پروگرام میشه اما بعد از اتمام کار failed یک میشه نه success ف
این یک مشکل شایع در برد های هست که به صورت دستی مونتاژ میشه ، برای رفع اون مراحل زیر رو انجام بدید :
1- ممکنه بین پایه های ddm و ddp میکرو ، مقدار روغن لحیم یا ... جمع شده باشه ، مقداری تینر فوری روی برد بریزید و اون رو کامل بشورید .
2- ممکنه کابل ارتباطی شما بلند باشه یا مقاومت های که استفاده کردید درست نباشه ( درست لحیم نشده باشه یا مقدارش صحیح نباشه ) . در این صورت باید از شماتیک های استانداردی که ما گذاشتیم استفاده کنیم .

مشکل این هست که زمان تاخیر درست تنظیم نمیشه یعنی وقتی 1 ثانیه تاخیر می خوام بایستی تابع تاخیر رو روی 100 میکرو ثانیه تنظیم کنم در ضمن حدود هر 12 ثانیه هم میکرو ریست میشه.
اساتید گرامی لطفاً راهنمایی بفرمایند.
معمولا وقتی به صورت دستی میخوایید تاخیری رو ایجاد کنید ، باید از فرمول زیر استفاده کنید :
تاخیر = مقدار کریستال تقسیم بر ( x ضرب در 5 )
که x همون مقدار تاخیر مورد نظر شما هست و در صورتی مقدار اون صحیح هست که تنظمات pll رو یک باشه ( مقدار کلاک کریستال در عددی ضرب نشه و.... ) در صورتی که از تنظیمات pll اگاهی ندارید ، مهم نیست ، چون ما قبلا کتابخونه ی delay.h رو برای این کار اماده کردیم که میتونید توی مجله ی 3 و 4 اون رو پیدا کنید و ازش استفاده کنید .
اموزش تنظیم کردن pll و... هم توی همون مجلات وجود داره .
اگه سوال دیگه ای بود مطرح کنید .

nh2600
05-06-2010, 19:21
من مدار رو مطابق شماتیک ارائه شده در سایت طراحی کردم .زمان رو هم با همون فرمول ارائه شده در مجله محاسبه کردم. در ضمن اگر بخواهیم برنامه چشمک زن هم بنویسیم باید pll رو تنظیم بکنیم؟ و اگر اینطور هست برای این که با همون فرکانس 18432000 کار کنم چه تنظیمی باید انجام بدم؟ و اینکه چرا هر 12 ثانیه یکبار ریست میشود؟

farzadsw
05-06-2010, 20:32
اینکه میکرو هر چند ثانیه ریست میشه ، احتمالا به خاطر روشن کردن یه تایمر با وقفه و یا watchdog هست . در این صورت کد استارت آپ احتمالا تغییر داده شده.

nh2600
06-06-2010, 21:37
اینکه میکرو هر چند ثانیه ریست میشه ، احتمالا به خاطر روشن کردن یه تایمر با وقفه و یا watchdog هست . در این صورت کد استارت آپ احتمالا تغییر داده شده.


سورس برنامه در اول تاپیک هستش، اون که یه برنامه ساده هست و تایمر با وقفه و یا watchdog در اون فعال نشده !

farzadsw
07-06-2010, 01:00
من گفتم احتمالا کد startup تغییر داده شده . شاید هم کامپایلر شما مشکل داره . فولدر پروژه رو به صورت کامل قرار بدید تا بررسی بشه

nh2600
07-06-2010, 21:20
من گفتم احتمالا کد startup تغییر داده شده . شاید هم کامپایلر شما مشکل داره . فولدر پروژه رو به صورت کامل قرار بدید تا بررسی بشه

در پروگرامر TNM و در ابزار config سه تا گزینه هست، گزینه اخر یه فیلد با نام GP NVM bit داره که اول روی 00h بود که برنامه روی میکرو load میشد ولی کار نمی کرد اما حالا اونو به FFh تغییر دادم و برنامه کار میکنه ولی همان مشکلات ریست شدن و عدم عملکرد صحیح تابع تاخیر هستش . آیا منظورتون از کد startup همونه یا یه چیز دیگه هستش؟ و عدد صحیح بجای FFh چی هستش؟

farzadsw
07-06-2010, 23:22
پروگرمر TNM دیگه چیه؟
کد استارت آپ ، همون کد startup.s هست که کیل برای پروژه تون میسازه.
ولی الان که دارید میگید (از اول میگفتید دیگه) ، تنظیمات پروگرمر اشکال داره .(اگه کد استارت آپ رو تغییر نداده باشید)

nh2600
08-06-2010, 13:26
پروگرمر TNM دیگه چیه؟

یه پروگرمر یونیورسال هستش که اکثر میکروکنترولرها از قبیل AVR - ARM - PIC - 8051,... رو پروگرام میکنه و از سایت TNMELECTRONICS.COM هم Update میشه.



کد استارت آپ ، همون کد startup.s هست که کیل برای پروژه تون میسازه.

اینو ندیدم فقط یه فایل sam7.s رو می سازه که اونو تغییر نمیدم .



ولی الان که دارید میگید (از اول میگفتید دیگه) ، تنظیمات پروگرمر اشکال داره .(اگه کد استارت آپ رو تغییر نداده باشید)

این GP NVM bit چی هستش؟ که وقتی روی FFh باشه جواب میده البته در datasheet ARM توضیح داده ولی من چیزی متوجه نشدم.

farzadsw
10-06-2010, 03:52
من با این پروگرمر آشنا نیستم و تنظیمانش رو نمیدونم ، برای همین کمک زیادی نمیتونم بکنم . اما اون gp nvm bit برای قفل کردن به بخشی از حافظه و کار های امنیتی هست . به طور معمول استفاده نمیشه (نه با samba و نه jlink ) .